Hey Stephen,

unfortunately, the compile statement:
g++ -Icrypto51 -Lcrypto51 -lcryptopp -o doall doall.cpp

still results in the same "undefined reference" errors that I had
before:

- version: crypto5.1
- redhat version 9.0
- g++ 3.2.2

/tmp/ccVzweFK.o(.gnu.linkonce.t._ZN8CryptoPP20AutoSeededRandomPoolC1Ebj+0x19): In 
function `CryptoPP::AutoSeededRandomPool::AutoSeededRandomPool[in-charge](bool, 
unsigned)':
: undefined reference to
`CryptoPP::RandomPool::RandomPool[not-in-charge](unsigned)'
/tmp/ccVzweFK.o(.gnu.linkonce.t._ZN8CryptoPP20AutoSeededRandomPoolC1Ebj+0x50): In 
function `CryptoPP::AutoSeededRandomPool::AutoSeededRandomPool[in-charge](bool, 
unsigned)':
: undefined reference to `CryptoPP::AutoSeededRandomPool::Reseed(bool,
unsigned)'
/tmp/ccVzweFK.o(.gnu.linkonce.d._ZTVN8CryptoPP20AutoSeededRandomPoolE+0x18): undefined 
reference to `CryptoPP::RandomPool::GenerateByte()'
/tmp/ccVzweFK.o(.gnu.linkonce.d._ZTVN8CryptoPP20AutoSeededRandomPoolE+0x1c): undefined 
reference to `CryptoPP::RandomNumberGenerator::GenerateBit()'



///////////////////////////////////////////////////////////
////////////////// previous message ///////////////////////
Consider the command that you gave to compile doall.cpp. You tell g++
that it must compile doall.cpp with the include flag for the path to the
crypto++ files. That is fine for finding the header files and doing the
preprocessing and compiling but it fails on linking. Your command does
nothing to tell g++ where to resolve the symbols created from the
headers you linked in from crypto++. You must tell g++ where to find the
libraries you need with the -L flag and the libraries you need by the -l
flag.

Given your setup try:
cd /home/gaimfs
g++ -Icrypto51 -Lcrypto51 -lcryptopp -o doall doall.cpp

This will result in the binary 'doall' being in the /home/gaimfs
directory.
Stephen
-- 
Stephen Torri
GPG Key: http://www.cs.wustl.edu/~storri/storri.asc

Reply via email to