【问题标题】:How to use Botan Amalgamation files and VS2008如何使用 Botan Amalgamation 文件和 VS2008
【发布时间】:2011-11-23 22:11:33
【问题描述】:
  • Windows XP SP3 的全新安装
  • 安装 Python 2.7.2
  • 将 Botan 1.10.1 解压到桌面
  • 运行 configure.py --cc=msvc --disable-shared --gen-amalgamation
  • botan_all.hbotan_all.cpp 复制到我的开发工作站
  • 在VS2008中新建一个Win32控制台项目

这给了我 102 个错误……有人在使用这个库吗?

#include "botan_all.h"
int main(int argc, char *argv[])  
{
    return 0;
}

【问题讨论】:

    标签: c++ visual-studio-2008 encryption botan


    【解决方案1】:

    问题是您的项目是一个 windows 应用程序,并且包含 windows.h,windows.h 包含用于 min 和 max 的宏。

    解决方法是定义#define NOMINMAX 您可以通过项目的属性页 > C/C++ > 预处理器 > 预处理器定义

    另外,在botan_all.h 中添加#define BOTAN_DLL 至少在1.10.1 版本中避免错误

    【讨论】:

    • 感谢您的帮助。我跳过了使用 Botan 并使用了 CryptoAPI/OpenSSL 类。我无法真正验证你的答案,所以我接受它。
    • 我遇到了同样的问题(也有 102 个错误 - 至少......)我已将其设置为不包含任何其他标题。它肯定不是最小/最大值(尽管这是我的也是第一次猜测,奇怪的是,第一个错误是在 std::min - 只是不是第一次出现)
    • 对我有帮助的是在包含后立即在 botan_all.cpp 上添加 using std::min; using std::max,并将所有 std::minstd::max 替换为 minmax
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 2019-12-23
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多