You've included a lot of output. Just the starting portions should be  
enough to debut compile issues, like the output up until the second or  
third error should be enough in the future.

 From the compile line it appears that you aren't linking against the  
cryptopp library. You'll want to add a -lcryptopp to your compile  
flags although eclipse probably has a way to specify a library  
dependency that will get turned into a -l option when you build.

Chris



On Dec 27, 2008, at 1:53 AM, Zach <[email protected]> wrote:

>
> Getting Crypto++ to work has been a total PITA for me. When I try to
> build a file based on the RSAKeyGen sample program (http://
> www.cryptopp.com/wiki/RSA#RSA_Key_Generation), it gives a "symbol(s)
> not found" error and a warning saying "ignoring #pragma comment." The
> full console output is below. I'd really appreciate some help. I'm
> using Eclipse in Mac OS X.
>
>
> **** Build of configuration Debug for project TestProgram ****
>
> make all
> Building file: ../src/TestProgram.cpp
> Invoking: GCC C++ Compiler
> g++ -I/Volumes/Files/Projects/Eclipse/TestProgram/src/boost -I/ 
> Volumes/
> Files/Projects/Eclipse/TestProgram/src/cryptopp -O0 -g3 -Wall -c -
> fmessage-length=0 -MMD -MP -MF"src/TestProgram.d" -MT"src/
> TestProgram.d" -o"src/TestProgram.o" "../src/TestProgram.cpp"
> ../src/TestProgram.cpp:18: warning: ignoring #pragma comment
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h: In
> instantiation of 'CryptoPP::TF_Base<CryptoPP::TrapdoorFunctionInverse,
> CryptoPP::PK_EncryptionMessageEncodingMethod>':
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:
> 154:   instantiated from
> 'CryptoPP::TF_CryptoSystemBase<CryptoPP::PK_Decryptor,
> CryptoPP::TF_Base<CryptoPP::TrapdoorFunctionInverse,
> CryptoPP::PK_EncryptionMessageEncodingMethod> >'
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:
> 166:   instantiated from here
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:124:
> warning: 'class CryptoPP::TF_Base<CryptoPP::TrapdoorFunctionInverse,
> CryptoPP::PK_EncryptionMessageEncodingMethod>' has virtual functions
> but non-virtual destructor
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h: In
> instantiation of
> 'CryptoPP::TF_Base<CryptoPP::RandomizedTrapdoorFunction,
> CryptoPP::PK_EncryptionMessageEncodingMethod>':
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:
> 154:   instantiated from
> 'CryptoPP::TF_CryptoSystemBase<CryptoPP::PK_Encryptor,
> CryptoPP::TF_Base<CryptoPP::RandomizedTrapdoorFunction,
> CryptoPP::PK_EncryptionMessageEncodingMethod> >'
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:
> 173:   instantiated from here
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:124:
> warning: 'class
> CryptoPP::TF_Base<CryptoPP::RandomizedTrapdoorFunction,
> CryptoPP::PK_EncryptionMessageEncodingMethod>' has virtual functions
> but non-virtual destructor
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h: In
> instantiation of
> 'CryptoPP::TF_Base<CryptoPP::RandomizedTrapdoorFunctionInverse,
> CryptoPP::PK_SignatureMessageEncodingMethod>':
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:
> 311:   instantiated from
> 'CryptoPP::TF_SignatureSchemeBase<CryptoPP::PK_Signer,
> CryptoPP::TF_Base<CryptoPP::RandomizedTrapdoorFunctionInverse,
> CryptoPP::PK_SignatureMessageEncodingMethod> >'
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:
> 335:   instantiated from here
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:124:
> warning: 'class
> CryptoPP::TF_Base<CryptoPP::RandomizedTrapdoorFunctionInverse,
> CryptoPP::PK_SignatureMessageEncodingMethod>' has virtual functions
> but non-virtual destructor
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h: In
> instantiation of 'CryptoPP::TF_Base<CryptoPP::TrapdoorFunction,
> CryptoPP::PK_SignatureMessageEncodingMethod>':
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:
> 311:   instantiated from
> 'CryptoPP::TF_SignatureSchemeBase<CryptoPP::PK_Verifier,
> CryptoPP::TF_Base<CryptoPP::TrapdoorFunction,
> CryptoPP::PK_SignatureMessageEncodingMethod> >'
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:
> 343:   instantiated from here
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:124:
> warning: 'class CryptoPP::TF_Base<CryptoPP::TrapdoorFunction,
> CryptoPP::PK_SignatureMessageEncodingMethod>' has virtual functions
> but non-virtual destructor
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/pubkey.h:935:
> warning: 'class CryptoPP::DL_SymmetricEncryptionAlgorithm' has virtual
> functions but non-virtual destructor
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/algparam.h:
> In constructor
> 'CryptoPP::ConstByteArrayParameter::ConstByteArrayParameter(const T&,
> bool) [with T = std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >]':
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/filters.h:
> 744:   instantiated from here
> /Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp/algparam.h:
> 26: warning: unused variable 'cryptopp_assert_26'
> Finished building: ../src/TestProgram.cpp
>
> Building target: TestProgram
> Invoking: MacOS X C++ Linker
> g++ -L/Volumes/Files/Projects/Eclipse/TestProgram/src/cryptopp -o
> "TestProgram"  ./src/hashlibpp/hl_md5.o ./src/hashlibpp/
> hl_md5wrapper.o ./src/hashlibpp/hl_sha1.o ./src/hashlibpp/
> hl_sha1wrapper.o ./src/hashlibpp/hl_sha256.o ./src/hashlibpp/
> hl_sha256wrapper.o ./src/hashlibpp/hl_sha2ext.o ./src/hashlibpp/
> hl_sha384wrapper.o ./src/hashlibpp/hl_sha512wrapper.o  ./src/boost/
> libs/system/src/error_code.o  ./src/boost/libs/filesystem/src/
> operations.o ./src/boost/libs/filesystem/src/path.o ./src/boost/libs/
> filesystem/src/portability.o  ./src/Stk/Stk.o ./src/Stk/Thread.o  ./
> src/RakNet/AsynchronousFileIO.o ./src/RakNet/AutoRPC.o ./src/RakNet/
> BigInt.o ./src/RakNet/BitStream.o ./src/RakNet/
> BitStream_NoTemplate.o ./src/RakNet/CheckSum.o ./src/RakNet/
> CommandParserInterface.o ./src/RakNet/ConnectionGraph.o ./src/RakNet/
> ConsoleServer.o ./src/RakNet/DS_BytePool.o ./src/RakNet/
> DS_ByteQueue.o ./src/RakNet/DS_HuffmanEncodingTree.o ./src/RakNet/
> DS_Table.o ./src/RakNet/DataBlockEncryptor.o ./src/RakNet/
> DataCompressor.o ./src/RakNet/DirectoryDeltaTransfer.o ./src/RakNet/
> EmailSender.o ./src/RakNet/EncodeClassName.o ./src/RakNet/
> EpochTimeToString.o ./src/RakNet/ExtendedOverlappedPool.o ./src/ 
> RakNet/
> FileList.o ./src/RakNet/FileListTransfer.o ./src/RakNet/
> FileOperations.o ./src/RakNet/FormatString.o ./src/RakNet/
> FullyConnectedMesh.o ./src/RakNet/FunctionThread.o ./src/RakNet/
> Gen_RPC8.o ./src/RakNet/GetTime.o ./src/RakNet/GridSectorizer.o ./src/
> RakNet/HTTPConnection.o ./src/RakNet/IncrementalReadInterface.o ./src/
> RakNet/InlineFunctor.o ./src/RakNet/Itoa.o ./src/RakNet/
> LightweightDatabaseClient.o ./src/RakNet/ 
> LightweightDatabaseCommon.o ./
> src/RakNet/LightweightDatabaseServer.o ./src/RakNet/LinuxStrings.o ./
> src/RakNet/LogCommandParser.o ./src/RakNet/MessageFilter.o ./src/
> RakNet/NatPunchthrough.o ./src/RakNet/NetworkIDManager.o ./src/RakNet/
> NetworkIDObject.o ./src/RakNet/PacketConsoleLogger.o ./src/RakNet/
> PacketFileLogger.o ./src/RakNet/PacketLogger.o ./src/RakNet/
> PluginInterface.o ./src/RakNet/RPCMap.o ./src/RakNet/RSACrypt.o ./src/
> RakNet/RakMemoryOverride.o ./src/RakNet/RakNetCommandParser.o ./src/
> RakNet/RakNetStatistics.o ./src/RakNet/RakNetTransport.o ./src/RakNet/
> RakNetTypes.o ./src/RakNet/RakNetworkFactory.o ./src/RakNet/
> RakPeer.o ./src/RakNet/RakSleep.o ./src/RakNet/RakString.o ./src/
> RakNet/RakThread.o ./src/RakNet/Rand.o ./src/RakNet/ReadyEvent.o ./ 
> src/
> RakNet/ReliabilityLayer.o ./src/RakNet/ReplicaManager.o ./src/RakNet/
> ReplicaManager2.o ./src/RakNet/Router.o ./src/RakNet/SHA1.o ./src/
> RakNet/SimpleMutex.o ./src/RakNet/SocketLayer.o ./src/RakNet/
> StringCompressor.o ./src/RakNet/StringTable.o ./src/RakNet/
> SuperFastHash.o ./src/RakNet/SystemAddressList.o ./src/RakNet/
> TCPInterface.o ./src/RakNet/TableSerializer.o ./src/RakNet/
> TelnetTransport.o ./src/RakNet/ThreadsafePacketLogger.o ./src/RakNet/
> WSAStartupSingleton.o ./src/RakNet/_FindFirst.o ./src/RakNet/
> rijndael.o  ./src/TestProgram.o   -lcrypto
> Undefined symbols:
>  "CryptoPP::TF_DecryptorBase::Decrypt
> (CryptoPP::RandomNumberGenerator&, unsigned char const*, unsigned
> long, unsigned char*, CryptoPP::NameValuePairs const&) const",
> referenced from:
>      vtable for
> CryptoPP: 
> :PK_FinalTemplate< 
> CryptoPP: 
> :TF_DecryptorImpl< 
> CryptoPP: 
> :TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,
> CryptoPP::P1363_MGF1>, CryptoPP::RSA, int>, CryptoPP::RSA,
> CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1> > > >in
> TestProgram.o
>      vtable for
> CryptoPP: 
> :TF_DecryptorImpl< 
> CryptoPP: 
> :TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,
> CryptoPP::P1363_MGF1>, CryptoPP::RSA, int>, CryptoPP::RSA,
> CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1> > >in
> TestProgram.o
>      vtable for CryptoPP::TF_ObjectImpl<CryptoPP::TF_DecryptorBase,
> CryptoPP: 
> :TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,
> CryptoPP::P1363_MGF1>, CryptoPP::RSA, int>, CryptoPP::RSA,
> CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1> >,
> CryptoPP::InvertibleRSAFunction>in TestProgram.o
>      vtable for
> CryptoPP::TF_ObjectImplBase<CryptoPP::TF_DecryptorBase,
> CryptoPP: 
> :TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,
> CryptoPP::P1363_MGF1>, CryptoPP::RSA, int>, CryptoPP::RSA,
> CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1> >,
> CryptoPP::InvertibleRSAFunction>in TestProgram.o
>      vtable for CryptoPP::AlgorithmImpl<CryptoPP::TF_DecryptorBase,
> CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1>,
> CryptoPP::RSA, int> >in TestProgram.o
>  "CryptoPP::TF_EncryptorBase::Encrypt
> (CryptoPP::RandomNumberGenerator&, unsigned char const*, unsigned
> long, unsigned char*, CryptoPP::NameValuePairs const&) const",
> referenced from:
>      vtable for
> CryptoPP: 
> :PK_FinalTemplate< 
> CryptoPP: 
> :TF_EncryptorImpl< 
> CryptoPP: 
> :TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,
> CryptoPP::P1363_MGF1>, CryptoPP::RSA, int>, CryptoPP::RSA,
> CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1> > > >in
> TestProgram.o
>      vtable for
> CryptoPP: 
> :TF_EncryptorImpl< 
> CryptoPP: 
> :TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,
> CryptoPP::P1363_MGF1>, CryptoPP::RSA, int>, CryptoPP::RSA,
> CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1> > >in
> TestProgram.o
>      vtable for CryptoPP::TF_ObjectImpl<CryptoPP::TF_EncryptorBase,
> CryptoPP: 
> :TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,
> CryptoPP::P1363_MGF1>, CryptoPP::RSA, int>, CryptoPP::RSA,
> CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1> >,
> CryptoPP::RSAFunction>in TestProgram.o
>      vtable for
> CryptoPP::TF_ObjectImplBase<CryptoPP::TF_EncryptorBase,
> CryptoPP: 
> :TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,
> CryptoPP::P1363_MGF1>, CryptoPP::RSA, int>, CryptoPP::RSA,
> CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1> >,
> CryptoPP::RSAFunction>in TestProgram.o
>      vtable for CryptoPP::AlgorithmImpl<CryptoPP::TF_EncryptorBase,
> CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1>,
> CryptoPP::RSA, int> >in TestProgram.o
>  "CryptoPP::ProxyFilter::IsolatedFlush(bool, bool)", referenced from:
>      vtable for CryptoPP::SimpleProxyFilterin TestProgram.o
>  "CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned
> long) const", referenced from:
>      vtable for CryptoPP::Sinkin TestProgram.o
>      vtable for CryptoPP::Bufferless<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::Unflushable<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::SimpleProxyFilterin TestProgram.o
>  "CryptoPP::BufferedTransformation::SkipAll()", referenced from:
>      vtable for CryptoPP::Sinkin TestProgram.o
>      vtable for CryptoPP::Bufferless<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::Unflushable<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::SimpleProxyFilterin TestProgram.o
>  "CryptoPP::RandomNumberGenerator::DiscardBytes(unsigned long)",
> referenced from:
>      vtable for CryptoPP::AutoSeededRandomPoolin TestProgram.o
>  "CryptoPP::BufferedTransformation::AnyRetrievable() const",
> referenced from:
>      vtable for CryptoPP::Sinkin TestProgram.o
>      vtable for CryptoPP::Bufferless<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::Unflushable<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::SimpleProxyFilterin TestProgram.o
>  "typeinfo for CryptoPP::Filter", referenced from:
>      typeinfo for CryptoPP::Bufferless<CryptoPP::Filter>in
> TestProgram.o
>      typeinfo for CryptoPP::Unflushable<CryptoPP::Filter>in
> TestProgram.o
>  "CryptoPP::BufferedTransformation::SkipMessages(unsigned int)",
> referenced from:
>      vtable for CryptoPP::Sinkin TestProgram.o
>      vtable for CryptoPP::Bufferless<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::Unflushable<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::SimpleProxyFilterin TestProgram.o
>  "CryptoPP::BufferedTransformation::GetWaitObjects
> (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)",
> referenced from:
>      vtable for CryptoPP::Sinkin TestProgram.o
>      vtable for CryptoPP::Bufferless<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::Unflushable<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::SimpleProxyFilterin TestProgram.o
>  "CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&,
> unsigned long long&, std::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, bool)", referenced from:
>      vtable for CryptoPP::Bufferless<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::Unflushable<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::SimpleProxyFilterin TestProgram.o
>  "CryptoPP::PK_Decryptor::CreateDecryptionFilter
> (CryptoPP::RandomNumberGenerator&, CryptoPP::BufferedTransformation*,
> CryptoPP::NameValuePairs const&) const", referenced from:
>      vtable for
> CryptoPP: 
> :PK_FinalTemplate< 
> CryptoPP: 
> :TF_DecryptorImpl< 
> CryptoPP: 
> :TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,
> CryptoPP::P1363_MGF1>, CryptoPP::RSA, int>, CryptoPP::RSA,
> CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1> > > >in
> TestProgram.o
>      vtable for
> CryptoPP: 
> :TF_DecryptorImpl< 
> CryptoPP: 
> :TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,
> CryptoPP::P1363_MGF1>, CryptoPP::RSA, int>, CryptoPP::RSA,
> CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1> > >in
> TestProgram.o
>      vtable for CryptoPP::TF_ObjectImpl<CryptoPP::TF_DecryptorBase,
> CryptoPP: 
> :TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,
> CryptoPP::P1363_MGF1>, CryptoPP::RSA, int>, CryptoPP::RSA,
> CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1> >,
> CryptoPP::InvertibleRSAFunction>in TestProgram.o
>      vtable for
> CryptoPP::TF_ObjectImplBase<CryptoPP::TF_DecryptorBase,
> CryptoPP: 
> :TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,
> CryptoPP::P1363_MGF1>, CryptoPP::RSA, int>, CryptoPP::RSA,
> CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1> >,
> CryptoPP::InvertibleRSAFunction>in TestProgram.o
>      vtable for CryptoPP::AlgorithmImpl<CryptoPP::TF_DecryptorBase,
> CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1, CryptoPP::P1363_MGF1>,
> CryptoPP::RSA, int> >in TestProgram.o
>      vtable for CryptoPP::TF_CryptoSystemBase<CryptoPP::PK_Decryptor,
> CryptoPP::TF_Base<CryptoPP::TrapdoorFunctionInverse,
> CryptoPP::PK_EncryptionMessageEncodingMethod> >in TestProgram.o
>      vtable for
> CryptoPP::PK_FixedLengthCryptoSystemImpl<CryptoPP::PK_Decryptor>in
> TestProgram.o
>  "CryptoPP::BufferedTransformation::Peek(unsigned char&) const",
> referenced from:
>      vtable for CryptoPP::Sinkin TestProgram.o
>      vtable for CryptoPP::Bufferless<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::Unflushable<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::SimpleProxyFilterin TestProgram.o
>  "typeinfo for CryptoPP::ProxyFilter", referenced from:
>      typeinfo for CryptoPP::SimpleProxyFilterin TestProgram.o
>  "CryptoPP::Filter::AttachedTransformation()", referenced from:
>      vtable for CryptoPP::Bufferless<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::Unflushable<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::SimpleProxyFilterin TestProgram.o
>  "CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const",
> referenced from:
>      vtable for CryptoPP::Sinkin TestProgram.o
>      vtable for CryptoPP::Bufferless<CryptoPP::Filter>in
> TestProgram.o
>      vtable for CryptoPP::Un

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
-~----------~----~----~----~------~----~------~--~---

Reply via email to