Hello,
when compiling Crypto++ with MsVS.NET 2003 (VC7.1) I got the following errors
(solutions see below):
*******************
------ Build started: Project: cryptlib, Configuration: Debug Win32 ------
...
rw.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
rsa.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
rng.cpp
...
rabin.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
queue.cpp
pubkey.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
pssr.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
Generating Code...
Compiling...
polynomi.cpp
pkcspad.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
panama.cpp
osrng.cpp
oaep.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
network.cpp
nbtheory.cpp
mqv.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
mqueue.cpp
modexppc.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
modes.cpp
...
luc.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
iterhash.cpp
Generating Code...
Compiling...
integer.cpp
e:\tmp\crypto51\integer.cpp(38) : warning C4346: 'CryptoPP::AllocatorBase<T>::pointer'
: dependent name is not a type
prefix with 'typename' to indicate a type
e:\tmp\crypto51\integer.cpp(38) : error C2143: syntax error : missing ';' before
'CryptoPP::AlignedAllocator<T>::allocate'
e:\tmp\crypto51\integer.cpp(38) : error C2501: 'CryptoPP::AllocatorBase<T>::pointer' :
missing storage-class or type specifiers
idea.cpp
...
gfpcrypt.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
gf2n.cpp
...
fipstest.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
fips140.cpp
...
esign.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
eprecomp.cpp
elgamal.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
ecp.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
Generating Code...
Compiling...
eccrypto.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
ec2n.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
dsa.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
diamondt.cpp
...
dh.cpp
e:\tmp\crypto51\pubkey.h(756) : error C2027: use of undefined type 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(747) : see declaration of 'CryptoPP::OID'
e:\tmp\crypto51\pubkey.h(771) : see reference to class template instantiation
'CryptoPP::DL_KeyImpl<PK,GP>' being compiled
dessp.cpp
...
3way.cpp
Generating Code...
Build log was saved at "file://e:\tmp\crypto51\Debug\BuildLog.htm"
cryptlib - 21 error(s), 1 warning(s)
---------------------- Done ----------------------
Build: 0 succeeded, 1 failed, 0 skipped
*******************
Error C2027 can be fixed by deleting line 747 in pubkey.h (class OID;) and inserting
at the beginng of pubkey.h the line #include "asn.h"!
Error C4346 can be fixed with inserting the keywork "typename" at the beginng of line
38 in integer.cpp:
typename AllocatorBase<T>::pointer AlignedAllocator<T>::allocate(size_type n, const
void *)
Alex