0

尝试使用 Crypto++ 时出现 LNK2001 错误。对此的官方建议是:

有两种方法可以解决这个问题,或者更改 Crypto++ 以导出这些类,通过使用 CRYPTOPP_DLL 宏,或者链接 DLL 导出库和包含非 DLL 类和函数的静态库。后者可以通过使用 cryptlib 项目的“DLL-Import”配置来构建。

最好使用第一个选项,鉴于我没有使用 Visual Studio 的经验,我找不到宏的位置和执行方法。

简而言之:我在哪里可以找到宏以及如何执行它?

干杯。

4

1 回答 1

0

简而言之:我在哪里可以找到宏以及如何执行它?

宏是CRYPTOPP_IMPORTS。在 Windows 上执行动态链接时使用它(即 Crypto++ DLL)。

您可以通过以下两种方式之一“执行”它。首先,您可以添加#include <cryptopp/dll.h>到您的stdafx.h. dll.h.定义它,并且dll.h必须在任何其他 Crypto++ 定义之前包含。其次,将其添加到项目的预处理器宏中。无论哪种情况,CRYPTOPP_IMPORTS都会被定义。

不过,我怀疑你有不同的错误。您的项目中可能没有包含 Crypto++ 库(用于静态链接)或 Crypto++ 导入库(用于动态链接)。

于 2014-04-17T06:28:08.043 回答