Hello everyone and Wei,
I compiled the following code under VC++ 7.1 with /clr switch to make
it recognized as Managed C++ code. My Crypto++ version is the latest off
CVS c5 branch.
-----------------------------------------------------------
#include "stdafx.h"
#using <mscorlib.dll>
using namespace System;
#include "osrng.h"
#include "des.h"
using namespace CryptoPP;
int _tmain()
{
AutoSeededX917RNG<DES_EDE3> rng;
return 0;
}
------------------------------------------------------------
While compilation is OK except for a warning at integer.cpp(1567)
"warning C4561: '__fastcall' incompatible with the '/clr' option", I had
linker errors in CryptoPP::CheckedSetKey:
test error LNK2005: "void __cdecl CryptoPP::CheckedSetKey<class
CryptoPP::BlockCipherFinal<0,class CryptoPP::DES::Base> >(class
CryptoPP::BlockCipherFinal<0,class CryptoPP::DES::Base> *,enum
CryptoPP::CipherDir,unsigned char const *,unsigned int,class CryptoPP::NameValuePairs
const &)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@@@CryptoPP@@@CryptoPP@@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@CryptoPP@@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@0@@Z) already defined in
test.obj
test error LNK2005: "void __cdecl CryptoPP::CheckedSetKey<class
CryptoPP::BlockCipherFinal<0,class CryptoPP::DES::Base> >(class
CryptoPP::BlockCipherFinal<0,class CryptoPP::DES::Base> *,enum
CryptoPP::CipherDir,unsigned char const *,unsigned int,class CryptoPP::NameValuePairs
const &)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@@@CryptoPP@@@CryptoPP@@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@CryptoPP@@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@0@@Z) already defined in
test.obj
test error LNK2005: "void __cdecl CryptoPP::CheckedSetKey<class
CryptoPP::BlockCipherFinal<0,class CryptoPP::DES::Base> >(class
CryptoPP::BlockCipherFinal<0,class CryptoPP::DES::Base> *,enum
CryptoPP::CipherDir,unsigned char const *,unsigned int,class CryptoPP::NameValuePairs
const &)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@@@CryptoPP@@@CryptoPP@@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@CryptoPP@@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@0@@Z) already defined in
test.obj
test error LNK2005: "void __cdecl CryptoPP::CheckedSetKey<class
CryptoPP::BlockCipherFinal<0,class CryptoPP::DES::Base> >(class
CryptoPP::BlockCipherFinal<0,class CryptoPP::DES::Base> *,enum
CryptoPP::CipherDir,unsigned char const *,unsigned int,class CryptoPP::NameValuePairs
const &)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@@@CryptoPP@@@CryptoPP@@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@CryptoPP@@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@0@@Z) already defined in
test.obj
test error LNK2005: "void __cdecl CryptoPP::CheckedSetKey<class
CryptoPP::BlockCipherFinal<0,class CryptoPP::DES::Base> >(class
CryptoPP::BlockCipherFinal<0,class CryptoPP::DES::Base> *,enum
CryptoPP::CipherDir,unsigned char const *,unsigned int,class CryptoPP::NameValuePairs
const &)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@@@CryptoPP@@@CryptoPP@@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@CryptoPP@@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@0@@Z) already defined in
test.obj
Is there any future plan to add workaround for Managed C++ or someone
who already tried it?
Ken