It works fine when compiled with GCC 3.4.5, however, when compiling with GCC 4.0.2 I get the following error: g++ -o cryptest.exe -g -msse2 -pipe bench.o bench2.o test.o validat1.o validat2.o validat3.o adhoc.o datatest.o regtest.o fipsalgt.o dlltest.o -L. -lcryptopp bench.o: In function `CryptoPP::SymmetricCipherFinal<CryptoPP::ConcretePolicyHolder<CryptoPP::SEAL_Policy<CryptoPP::EnumToType<CryptoPP::ByteOrder, 1> >, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::TwoBases<CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation>, CryptoPP::RandomNumberGenerator> > >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::SEAL_Info<CryptoPP::EnumToType<CryptoPP::ByteOrder, 1> > >::SetKey(unsigned char const*, unsigned int, CryptoPP::NameValuePairs const&)': /gentoo/build/portage/crypto++-5.2.1/work/strciphr.h:282: undefined reference to `CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::TwoBases<CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation>, CryptoPP::RandomNumberGenerator> > >::UncheckedSetKey(CryptoPP::NameValuePairs const&, unsigned char const*, unsigned int, unsigned char const*)' bench.o: In function `CryptoPP::SymmetricCipherFinal<CryptoPP::ConcretePolicyHolder<CryptoPP::SEAL_Policy<CryptoPP::EnumToType<CryptoPP::ByteOrder, 0> >, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::TwoBases<CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation>, CryptoPP::RandomNumberGenerator> > >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::SEAL_Info<CryptoPP::EnumToType<CryptoPP::ByteOrder, 0> > >::SetKey(unsigned char const*, unsigned int, CryptoPP::NameValuePairs const&)': /gentoo/build/portage/crypto++-5.2.1/work/strciphr.h:282: undefined reference to `CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::TwoBases<CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation>, CryptoPP::RandomNumberGenerator> > >::UncheckedSetKey(CryptoPP::NameValuePairs const&, unsigned char const*, unsigned int, unsigned char const*)' bench.o: In function `CryptoPP::SymmetricCipherFinal<CryptoPP::ConcretePolicyHolder<CryptoPP::WAKE_Policy<CryptoPP::EnumToType<CryptoPP::ByteOrder, 1> >, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::TwoBases<CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation>, CryptoPP::RandomNumberGenerator> > >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::WAKE_OFB_Info<CryptoPP::EnumToType<CryptoPP::ByteOrder, 1> > >::SetKey(unsigned char const*, unsigned int, CryptoPP::NameValuePairs const&)': /gentoo/build/portage/crypto++-5.2.1/work/strciphr.h:282: undefined reference to `CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::TwoBases<CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation>, CryptoPP::RandomNumberGenerator> > >::UncheckedSetKey(CryptoPP::NameValuePairs const&, unsigned char const*, unsigned int, unsigned char const*)' bench.o: In function `CryptoPP::SymmetricCipherFinal<CryptoPP::ConcretePolicyHolder<CryptoPP::WAKE_Policy<CryptoPP::EnumToType<CryptoPP::ByteOrder, 0> >, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::TwoBases<CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation>, CryptoPP::RandomNumberGenerator> > >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::WAKE_OFB_Info<CryptoPP::EnumToType<CryptoPP::ByteOrder, 0> > >::SetKey(unsigned char const*, unsigned int, CryptoPP::NameValuePairs const&)': /gentoo/build/portage/crypto++-5.2.1/work/strciphr.h:282: undefined reference to `CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::TwoBases<CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation>, CryptoPP::RandomNumberGenerator> > >::UncheckedSetKey(CryptoPP::NameValuePairs const&, unsigned char const*, unsigned int, unsigned char const*)' bench.o: In function `CryptoPP::SymmetricCipherFinal<CryptoPP::ConcretePolicyHolder<CryptoPP::PanamaCipherPolicy<CryptoPP::EnumToType<CryptoPP::ByteOrder, 0> >, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::TwoBases<CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation>, CryptoPP::RandomNumberGenerator> > >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::ConcretePolicyHolder<CryptoPP::PanamaCipherPolicy<CryptoPP::EnumToType<CryptoPP::ByteOrder, 0> >, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::TwoBases<CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation>, CryptoPP::RandomNumberGenerator> > >, CryptoPP::AdditiveCipherAbstractPolicy> >::SetKey(unsigned char const*, unsigned int, CryptoPP::NameValuePairs const&)': /gentoo/build/portage/crypto++-5.2.1/work/strciphr.h:282: undefined reference to `CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::TwoBases<CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation>, CryptoPP::RandomNumberGenerator> > >::UncheckedSetKey(CryptoPP::NameValuePairs const&, unsigned char const*, unsigned int, unsigned char const*)' bench.o:/gentoo/build/portage/crypto++-5.2.1/work/strciphr.h:282: more undefined references to `CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::TwoBases<CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation>, CryptoPP::RandomNumberGenerator> > >::UncheckedSetKey(CryptoPP::NameValuePairs const&, unsigned char const*, unsigned int, unsigned char const*)' follow bench.o: In function `CryptoPP::SymmetricCipherFinal<CryptoPP::ConcretePolicyHolder<CryptoPP::WAKE_Policy<CryptoPP::EnumToType<CryptoPP::ByteOrder, 1> >, CryptoPP::CFB_EncryptionTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::CFB_CipherAbstractPolicy, CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation> > >, CryptoPP::CFB_CipherAbstractPolicy>, CryptoPP::WAKE_CFB_Info<CryptoPP::EnumToType<CryptoPP::ByteOrder, 1> > >::SetKey(unsigned char const*, unsigned int, CryptoPP::NameValuePairs const&)': /gentoo/build/portage/crypto++-5.2.1/work/strciphr.h:282: undefined reference to `CryptoPP::CFB_CipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::CFB_CipherAbstractPolicy, CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation> > >::UncheckedSetKey(CryptoPP::NameValuePairs const&, unsigned char const*, unsigned int, unsigned char const*)' bench.o: In function `CryptoPP::SymmetricCipherFinal<CryptoPP::ConcretePolicyHolder<CryptoPP::WAKE_Policy<CryptoPP::EnumToType<CryptoPP::ByteOrder, 0> >, CryptoPP::CFB_EncryptionTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::CFB_CipherAbstractPolicy, CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation> > >, CryptoPP::CFB_CipherAbstractPolicy>, CryptoPP::WAKE_CFB_Info<CryptoPP::EnumToType<CryptoPP::ByteOrder, 0> > >::SetKey(unsigned char const*, unsigned int, CryptoPP::NameValuePairs const&)': /gentoo/build/portage/crypto++-5.2.1/work/strciphr.h:282: undefined reference to `CryptoPP::CFB_CipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::CFB_CipherAbstractPolicy, CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation> > >::UncheckedSetKey(CryptoPP::NameValuePairs const&, unsigned char const*, unsigned int, unsigned char const*)' bench.o: In function `CryptoPP::XMACC_Base<CryptoPP::MD5>::TruncatedFinal(unsigned char*, unsigned int)': /gentoo/build/portage/crypto++-5.2.1/work/xormac.h:123: undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::SimpleKeyedTransformation<CryptoPP::HashTransformation> >::PadLastBlock(unsigned int, unsigned char)' bench.o: In function `CryptoPP::XMACC_Base<CryptoPP::MD5>::TruncatedVerify(unsigned char const*, unsigned int)': /gentoo/build/portage/crypto++-5.2.1/work/xormac.h:149: undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::SimpleKeyedTransformation<CryptoPP::HashTransformation> >::PadLastBlock(unsigned int, unsigned char)' bench.o: In function `CryptoPP::IteratedHashBase2<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 0>, CryptoPP::SimpleKeyedTransformation<CryptoPP::HashTransformation> >::TruncatedFinal(unsigned char*, unsigned int)': /gentoo/build/portage/crypto++-5.2.1/work/iterhash.h:110: undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::SimpleKeyedTransformation<CryptoPP::HashTransformation> >::PadLastBlock(unsigned int, unsigned char)' bench.o: In function `CryptoPP::IteratedHashBase2<unsigned long long, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned int)': /gentoo/build/portage/crypto++-5.2.1/work/iterhash.h:110: undefined reference to `CryptoPP::IteratedHashBase<unsigned long long, CryptoPP::HashTransformation>::PadLastBlock(unsigned int, unsigned char)' bench.o: In function `CryptoPP::IteratedHashBase2<unsigned long long, CryptoPP::EnumToType<CryptoPP::ByteOrder, 0>, CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned int)': /gentoo/build/portage/crypto++-5.2.1/work/iterhash.h:110: undefined reference to `CryptoPP::IteratedHashBase<unsigned long long, CryptoPP::HashTransformation>::PadLastBlock(unsigned int, unsigned char)' bench2.o: In function `CryptoPP::MQV_Domain<CryptoPP::DL_GroupParameters_EC<CryptoPP::EC2N>, CryptoPP::EnumToType<CryptoPP::CofactorMultiplicationOption, 2> >::Agree(unsigned char*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, bool) const': /gentoo/build/portage/crypto++-5.2.1/work/mqv.h:103: undefined reference to `CryptoPP::DL_GroupParameters_EC<CryptoPP::EC2N>::MultiplyElements(CryptoPP::EC2NPoint const&, CryptoPP::EC2NPoint const&) const' /gentoo/build/portage/crypto++-5.2.1/work/mqv.h:116: undefined reference to `CryptoPP::DL_GroupParameters_EC<CryptoPP::EC2N>::CascadeExponentiate(CryptoPP::EC2NPoint const&, CryptoPP::Integer const&, CryptoPP::EC2NPoint const&, CryptoPP::Integer const&) const' bench2.o: In function `CryptoPP::MQV_Domain<CryptoPP::DL_GroupParameters_EC<CryptoPP::ECP>, CryptoPP::EnumToType<CryptoPP::CofactorMultiplicationOption, 2> >::Agree(unsigned char*, unsigned char const*, unsigned char const*, unsigned char const*, unsigned char const*, bool) const': /gentoo/build/portage/crypto++-5.2.1/work/mqv.h:103: undefined reference to `CryptoPP::DL_GroupParameters_EC<CryptoPP::ECP>::MultiplyElements(CryptoPP::ECPPoint const&, CryptoPP::ECPPoint const&) const' /gentoo/build/portage/crypto++-5.2.1/work/mqv.h:116: undefined reference to `CryptoPP::DL_GroupParameters_EC<CryptoPP::ECP>::CascadeExponentiate(CryptoPP::ECPPoint const&, CryptoPP::Integer const&, CryptoPP::ECPPoint const&, CryptoPP::Integer const&) const' validat2.o: In function `ValidateECP()': /gentoo/build/portage/crypto++-5.2.1/work/validat2.cpp:614: undefined reference to `CryptoPP::DL_GroupParameters_EC<CryptoPP::ECP>::GetNextRecommendedParametersOID(CryptoPP::OID const&)' ./libcryptopp.a(md5mac.o): In function `CryptoPP::MD5MAC_Base::TruncatedFinal(unsigned char*, unsigned int)': /gentoo/build/portage/crypto++-5.2.1/work/md5mac.cpp:54: undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::SimpleKeyedTransformation<CryptoPP::HashTransformation> >::PadLastBlock(unsigned int, unsigned char)' ./libcryptopp.a(tiger.o): In function `CryptoPP::Tiger::TruncatedFinal(unsigned char*, unsigned int)': /gentoo/build/portage/crypto++-5.2.1/work/tiger.cpp:22: undefined reference to `CryptoPP::IteratedHashBase<unsigned long long, CryptoPP::HashTransformation>::PadLastBlock(unsigned int, unsigned char)' ./libcryptopp.a(ttmac.o): In function `CryptoPP::TTMAC_Base::TruncatedFinal(unsigned char*, unsigned int)': /gentoo/build/portage/crypto++-5.2.1/work/ttmac.cpp:30: undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::SimpleKeyedTransformation<CryptoPP::HashTransformation> >::PadLastBlock(unsigned int, unsigned char)' ./libcryptopp.a(wake.o): In function `CryptoPP::SymmetricCipherFinal<CryptoPP::ConcretePolicyHolder<CryptoPP::WAKE_Policy<CryptoPP::EnumToType<CryptoPP::ByteOrder, 1> >, CryptoPP::CFB_DecryptionTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::CFB_CipherAbstractPolicy, CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation> > >, CryptoPP::CFB_CipherAbstractPolicy>, CryptoPP::WAKE_CFB_Info<CryptoPP::EnumToType<CryptoPP::ByteOrder, 1> > >::SetKey(unsigned char const*, unsigned int, CryptoPP::NameValuePairs const&)': /gentoo/build/portage/crypto++-5.2.1/work/strciphr.h:282: undefined reference to `CryptoPP::CFB_CipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::CFB_CipherAbstractPolicy, CryptoPP::SimpleKeyedTransformation<CryptoPP::StreamTransformation> > >::UncheckedSetKey(CryptoPP::NameValuePairs const&, unsigned char const*, unsigned int, unsigned char const*)' ./libcryptopp.a(whrlpool.o): In function `CryptoPP::Whirlpool::TruncatedFinal(unsigned char*, unsigned int)': /gentoo/build/portage/crypto++-5.2.1/work/whrlpool.cpp:74: undefined reference to `CryptoPP::IteratedHashBase<unsigned long long, CryptoPP::HashTransformation>::PadLastBlock(unsigned int, unsigned char)' collect2: ld returned 1 exit status make: *** [cryptest.exe] Error 1 !!! ERROR: dev-libs/crypto++-5.2.1 failed. Portage 2.1_pre3-r1 (default-linux/x86/2005.1, gcc-4.0.2, glibc-2.3.6-r1, 2.6.14.4 i686) ================================================================= System uname: 2.6.14.4 i686 Intel(R) Pentium(R) M processor 1500MHz Gentoo Base System version 1.12.0_pre12 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -pipe" DISTDIR="/gentoo/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.easynet.nl/mirror/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp.easynet.nl/mirror/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://gentoo.osuosl.org" LINGUAS="de" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/gentoo/build" PORTDIR="/gentoo/portage" PORTDIR_OVERLAY="/gentoo/build/overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X Xaw3d a52 aac aalib acl acpi activefilter ada afs alsa aotuv arts asf audiofile avi bash-completion berkdb bitmap-fonts bluetooth browserplugin bzip2 caps cdb cdda cddb cdio cdparanoia cdr chipcard client-only cpudetection crypt cups dlloader doc dri dtaus dv dvd dvdread edl emacs emboss encode exif expat fam ffmpeg flac font-server foomaticdb ftp gd-external gdbm geldkarte gif glut gmp gnutls gphoto2 gpm gtk2 hardened hbci httpd icq idn imagemagick imap imlib ipppd irda irmc isdnlog jpeg jpeg2k kcal kde kerberos latex lcms ldap libg++ libwww lm_sensors lua lzo mad madwifi maildir mbox mime mng motif mozsvg mp3 mpeg mule musicbrainz nas ncurses nls no-old-linux noantlr nobcel nobeanutils nobsh nocommonslogging nocommonsnet nojdepend nojsch nojython nolog4j nooro noregexp norhino noxalan noxerces nptl nptlonly nsplugin objc ofx ogg oggvorbis openexr opengl pam pam_console pcre pdflib perl perlsuid pg-intdatetime pic png postgres ppds pppd pwdb python qt quicktime rdesktop readline real recode rtc savedconfig slang slp sms sockets socks5 speedo speex spell sql sse ssl stream subversion svg svga symlink sysfs tcpd tetex theora threads tiff toolbar truetype truetype-fonts type1-fonts udev unicode usb userlocales vcd vim-with-x vlm vorbis wifi win32codecs wxwindows xine xml2 xprint xscreensaver xv xvid xvmc zeroconf zlib elibc_glibc kernel_linux linguas_de userland_GNU" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, MAKEOPTS
Fixed in cvs, I ported some fixes from Ubuntu.