Thanks! I'll try that. That makes a lot of sense. I tried some more stuff today: I got it to work by actually copying over all the cryptopp .cpp files, and compiling them into my project. That worked. BUT--what I used the command I pulled from "GNUmakefile" to make all of these .o files (the ones that just worked when compiling) into a library: "ar -cr libcryptopp.a"
this resulting library produces errors... so I'm guessing somehow, I'm using/building the library incorrectly or something. -Matt -----Original Message----- From: Wei Dai [mailto:[EMAIL PROTECTED] Sent: Monday, February 09, 2004 8:29 PM To: Matthew Brown Cc: [EMAIL PROTECTED] Subject: Re: Undefined Reference link errors It looks like you compiled Crypto++ without STLport, but your own program with it. It have to use it for both, or neither. On Mon, Feb 09, 2004 at 08:25:21AM -0500, Matthew Brown wrote: > I've found a few threads on this mailing list with almost the same exact > problem that I have, but they were never resolved, hopefully they were just > never posted. > > - version: crypto5.1 > - redhat version 9.0 > - g++ 3.2.2 > > cryptest.exe compiles and runs (cryptest.exe v runs fine) > However, when I try to link the library (libcryptopp.a) from another > program, I get "undefined reference" errors for everything that I use in my > program. > AKA, I get about 8 pages of stuff like this: > [Command Line:] > c++ -o PublicKeyServer PublicKeyServer.o CryptoUtils.o > NetworkMessages.o -L/ExternalLibs -lcryptopp -lstlport_gcc -lnsl > [Beginning of output:] > CryptoUtils.o(.gnu.linkonce.d._ZTVN8CryptoPP10HexDecoderE+0x90): undefined > reference to > `CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned > long&, _STL::basic_string<char, _STL::char_traits<char>, > _STL::allocator<char> > const&, bool)' > CryptoUtils.o(.gnu.linkonce.d._ZTVN8CryptoPP10HexDecoderE+0x94): undefined > reference to > `CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned > long&, unsigned long, _STL::basic_string<char, _STL::char_traits<char>, > _STL::allocator<char> > const&, bool) const' > CryptoUtils.o(.gnu.linkonce.d._ZTVN8CryptoPP10HexDecoderE+0x98): undefined > reference to > `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(_STL::basic_string< > char, _STL::char_traits<char>, _STL::allocator<char> > const&, unsigned&)' > ... > > Any ideas? > > I've used this library a bunch on windows with no problem, which is why this > is such a surprise to me. (I spent the whole weekend trying to nail down why > this is happening) > > Other threads with similar problems include: > http://www.escribe.com/software/crypto/m3404.html > http://www.escribe.com/software/crypto/m2895.html > http://www.escribe.com/software/crypto/m2417.html
