[sword-devel] compiling SVN sample programs - ready to give up - please help

Troy A. Griffitts scribe at crosswire.org
Sat Feb 10 14:31:38 MST 2007


Chad,
	The error:

		swmgr.h: No such file or directory

	tells me that you have not installed sword to your include path:

		I/usr/include:/usr/include/sword

	Actually, I'm not sure that syntax is legal.  Try:

		I/usr/include -I/usr/include/sword

	Or better yet, try:

g++ `pkg-config --cflags sword` ciphercng.cpp `pkg-config --libs sword`

I've just updated the examples/classes directory in svn to work with the 
latest sword code and for the Makefile to use this build syntax, which 
should allow building outside the sword build system.  My apologies for 
these not being up to date.

	-Troy.


Chad Johnson wrote:
> I'm trying to compile the following program and I get the corresponding 
> output. I tried adding   using namespace sword;   but that did not help. 
> I was able to compile the examples using the makefile generated from 
> ./autogen.sh and /usrinst.sh, but what must I do to get this program to 
> work? What must my makefile look like? Can I use bakefile? I'd really 
> like it working soon as I am integrating the SWORD modules with Aletheia 
> ( aletheia.sourceforge.net <http://aletheia.sourceforge.net>).
> 
> chad at chadjohnson:/tmp/sword/examples/cmdline$ g++ -L/usr/lib 
> -I/usr/include:/usr/include/sword ciphercng.cpp
> ciphercng.cpp:10:19: error: swmgr.h: No such file or directory
> ciphercng.cpp: In function 'int main(int, char**)':
> ciphercng.cpp:22: error: 'sword' has not been declared
> ciphercng.cpp:22: error: expected `;' before 'manager'
> ciphercng.cpp :23: error: 'ModMap' has not been declared
> ciphercng.cpp:23: error: expected `;' before 'it'
> ciphercng.cpp:24: error: 'it' was not declared in this scope
> ciphercng.cpp:24: error: 'manager' was not declared in this scope
> ciphercng.cpp:31: error: 'SWModule' was not declared in this scope
> ciphercng.cpp:31: error: 'module' was not declared in this scope
> 
> 
> 
> 
> /****************************************************************************** 
> 
>  *
>  * This example demonstrates how to change the cipher key of a module
>  *    The change is only in effect for this run.  This DOES NOT change the
>  *    cipherkey in the module's .conf file.
>  *
>  */
> 
> #include <stdio.h>
> #include <swmgr.h>
> #include <iostream>
> 
> using namespace std;
> 
> int main(int argc, char **argv) {
> 
>     if (argc != 2) {
>         fprintf(stderr, "usage: %s <modName>\n", *argv);
>         exit(-1);
>     }
> 
>     sword::SWMgr manager;        // create a default manager that looks 
> in the current directory for mods.conf
>     ModMap::iterator it;
>     it = manager.Modules.find(argv[1]);
> 
>     if (it == manager.Modules.end()) {
>         fprintf(stderr, "%s: couldn't find module: %s\n", *argv, argv[1]);
>         exit(-1);
>     }
> 
>     SWModule *module = (*it).second;
>     string key;
> 
>     cout << "\nPress [CTRL-C] to end\n\n";
>     while (true) {
>         cout << "\nModule text:\n";
>         module->setKey("1jn 1:9");
>         cout << "[ " << module->KeyText() << " ]\n";
>         cout << (const char *)*module;
>         cout << "\n\nEnter new cipher key: ";
>         cin >> key;
>         cout << "\nSetting key to: " << key;
>          manager.setCipherKey(argv[1], (unsigned char *)key.c_str());
>     }
> 
> 
> }
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page




More information about the sword-devel mailing list