C++ 多线程DLL中的Cryptopp,VS2010
我正在尝试使用VS2010在XPSP3上使用Cryptopp 5.6.2。新来的 我需要使用多线程DLL,因为这是我的应用程序使用的,所以我将Crypto++项目属性中的所有引用从C++ 多线程DLL中的Cryptopp,VS2010,c++,visual-studio-2010,crypto++,C++,Visual Studio 2010,Crypto++,我正在尝试使用VS2010在XPSP3上使用Cryptopp 5.6.2。新来的 我需要使用多线程DLL,因为这是我的应用程序使用的,所以我将Crypto++项目属性中的所有引用从/MT[d]更改为/MD[d]。所有Crypto++似乎都可以构建 但是,我的C++控制台应用程序都不满意,我有标准 GETNeNoDeleDeleTopTopp ,这似乎是OK(删除它,CytPopp给出了一个错误,包括它,CytoTopp不打印警告)。 在我添加行PKCS5\u PBKDF2\u HMAC之前,一切
/MT[d]
更改为/MD[d]
。所有Crypto++似乎都可以构建
但是,我的C++控制台应用程序都不满意,我有标准<代码> GETNeNoDeleDeleTopTopp ,这似乎是OK(删除它,CytPopp给出了一个错误,包括它,CytoTopp不打印警告)。 在我添加行
PKCS5\u PBKDF2\u HMAC
之前,一切似乎都很好。对于CryptoPP::ThreadUserTimer::GetCurrentTimerValue(void)
和
CryptoPP::ThreadUserTimer::TicksPerSecond(void)
这里没有想法了-由于我工作的地方有神秘的规则,我无法粘贴代码,但是我包括了dll.h
,cryptlib.h
,osrng.h
,aes.h
,sha.h
,hex.h
,integer.h
,modes.h
和pwdbased.h
我是不是漏掉了一些显而易见的东西?我也遇到了这个问题,看起来这个类没有被导出。在
hrtimer.h
中的ThreadUserTimer
声明中添加CRYPTOPP\u DLL
将修复此问题 给了你答案。您需要为一些类和函数添加CRYPTOPP\u DLL
PKCS5\u PBKDF2\u HMAC
是一个仅头的实现,因此它不需要CRYPTOPP\u DLL
。看
但是,ThreadUserTimer
不仅仅是标题,因此需要修改:
旧的:
新的:
你修过这个吗?我也有同样的问题。
00042 class ThreadUserTimer : public TimerBase
00043 {
00044 ...
00048 };
00042 class CRYPTOPP_DLL ThreadUserTimer : public TimerBase
00043 {
00044 ...
00048 };