Hi Tech,
I can compile crypto++ 5.6.1 on OpenBSD 4.8 release i386. It requires
gmake (which is a package), but otherwise is a straight forward install. I
can then run the cryptest app in 'validation mode' and all tests pass:
------------------
All tests passed!
Test ended at Tue Dec 28 15:44:25 2010
Seed used was: 1293569063
------------------
But when I try to use a header from crypto++ in any C++ app. I get these
errors:
# g++ simple.cpp -o simple /usr/lib/libcryptopp.a
In file included from /usr/include/g++/map:65,
from /usr/include/cryptopp/stdcpp.h:19,
from /usr/include/cryptopp/cryptlib.h:83,
from /usr/include/cryptopp/iterhash.h:4,
from /usr/include/cryptopp/sha.h:4,
from simple.cpp:3:
/usr/include/g++/bits/stl_tree.h:132: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:143: error: declaration of C function
'const std::_Rb_tree_node_base* std::_Rb_tree_increment(const
std::_Rb_tree_node_base*)' conflicts with
/usr/include/g++/bits/stl_tree.h:140: error: previous declaration
'std::_Rb_tree_node_base*
std::_Rb_tree_increment(std::_Rb_tree_node_base*)' here
/usr/include/g++/bits/stl_tree.h:149: error: declaration of C function
'const std::_Rb_tree_node_base* std::_Rb_tree_decrement(const
std::_Rb_tree_node_base*)' conflicts with
/usr/include/g++/bits/stl_tree.h:146: error: previous declaration
'std::_Rb_tree_node_base*
std::_Rb_tree_decrement(std::_Rb_tree_node_base*)' here
/usr/include/g++/bits/stl_tree.h:151: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:221: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:296: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:302: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:327: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:751: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:761: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:771: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:778: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:785: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:792: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:799: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:806: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:828: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:846: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:864: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:883: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:900: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:917: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:967: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:994: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:1051: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:1108: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:1162: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:1216: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:1227: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:1238: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:1252: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:1266: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:1278: error: template with C linkage
/usr/include/g++/bits/stl_tree.h:1314: error: template with C linkage
...
...
dozens of errors
---- Sample Source Code -----
#include<iostream>
#include<cryptopp/sha.h>
int main()
{
std::cout << "OK" << std::endl;
return 0;
}
-----------------------------
As soon as I include any cryptopp header, it barfs with errors like those
shown above. This source code compiles on every Linux distro I've tried,
Mac OS X, Windows 7 with mingw, etc. Any tips? Perhaps I'm doing something
wrong? I'm not subscribed, so place CC me.
Thanks,
Brad