To compile Crypto++ 3.0 with EGCS 1.1, you need to modify the system header file to enable auto_ptr. Just comment out the four #if and #endif lines around the auto_ptr class definition. You also need to fix a couple of typos in the auto_ptr definition. Change the line X* release const __STL_NOTHROW { owns = false; return ptr } to X* release() const __STL_NOTHROW { owns = false; return ptr; } Also, there may be a bug in the EGCS optimizer. If Crypto++ fails the validation test or crashes during it, try recompiling the file integer.cpp with optimizations turned off and then doing a remake. EGCS does not have good template support on non-ELF platforms, so compiling Crypto++ on those platforms with EGCS will likely fail.