2011-09-23 43 views
0
  • 全新安装的Windows XP SP3的
  • 安装Python 2.7.2
  • 提取牡丹1.10.1桌面
  • 运行configure.py --CC = MSVC - 禁用共享--gen-合并
  • 复制botan_all.hbotan_all.cpp到我的开发工作站
  • 在VS2008中创建一个新项目Win32控制台项目

这给了我102个错误......使用这个库的任何人?如何使用牡丹融合文件和VS2008

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

回答

3

问题是你的项目是一个Windows应用程序,包括windows.h,windows.h包括最大和最小的宏。

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

此外,在botan_all.h添加的#define BOTAN_DLL避免误差至少在版本1.10.1

+0

谢谢你的帮助。我跳过使用Botan,并与CryptoAPI/OpenSSL类一起去。我无法真正验证你的答案,所以我只接受它。 – pcunite

+0

我遇到了同样的问题(102错误,至少...)我已经设置它不包括任何其他头。它当然不是最小/最大值(尽管这也是我的第一次猜测,第一个错误,好奇地是,在std :: min - 只是不是第一次发生) – peterchen

+0

什么对我有帮助的是添加'使用std :: min;在包含后面的botan_all.cpp中使用std :: max',并用'min','max'替换所有'std :: min','std :: max' – peterchen