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


Reply via email to