如何在 Visual Studio C++ (2019) 中集成 CryptoPP

问题描述

我在 Visual Studio 中集成 CryptoPP 时遇到了一些问题。我遵循了一些教程但没有成功,当我尝试编译项目时,我遇到了成百上千的错误

我做了什么:

  1. 我使用调试和发布配置构建了 cryptlib,生成了 cryptlib.lib 文件
  2. 我在刚刚生成的 .lib 文件添加了依赖项
  3. 添加了 .h 文件的路径

在编译我的项目时,我收到了 100 多个 LNKxxxx 类型的错误,我不知道是我在编译库时做错了什么,还是遗漏了什么,但我完全卡住了。

--- 编辑--- 根据要求,以下是我遇到的一些错误

检测到“RuntimeLibrary”的错误 LNK2038 不匹配:值 'MTd_StaticDebug' 与 'MDd_DynamicDebug' 中的值不匹配 pwmc.obj pwmc C:\Users\aless\Documents\C\pwm\pwmc\pwmc\cryptlib.lib(rijndael.obj) 1

Error LNK2005 "protected: __cdecl std::basic_streambuf::basic_streambuf(void)" (??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ) 已经 定义于 cryptlib.lib(cryptlib.obj) pwmc C:\Users\aless\Documents\C\pwm\pwmc\pwmc\msvcprtd.lib(MSVCP140D.dll) 1

错误 LNK2005“私有:静态类 std::locale::_Locimp * __cdecl std::locale::_Init(bool)" (?_Init@locale@std@@CAPEAV_Locimp@12@_N@Z) 已经在 msvcprtd.lib(MSVCP140D.dll) pwmc C:\Users\aless\Documents\C\pwm\pwmc\pwmc\libcpmtd.lib(locale0.obj) 1

由于我的 Visual Studio 不是英文,我自己翻译了错误,但我不知道确切/正确的翻译,我希望无论如何都足够清楚。


先谢谢大家。

附注 我不认为我的代码有问题,为了测试是否一切正常,我使用了 this 示例代码

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)