VS 2015编译cocos2d-x 3.6错误snprintf的宏定义与标准库函数声明冲突

时间:2015-07-11 14:42:05

标签: cocos2d-x visual-studio-2015

我使用visual studio 2015编译cocos2d-x(版本3.6),发生错误,说:

  

致命错误C1189:#error:snprintf的宏定义与标准库函数声明冲突

像这个链接几乎一样的问题 here

我尝试按照第一个答案,然后在cocos论坛上搜索大多数结果但也失败了,我是菜鸟,现在真的不知道..

这是我的源代码,在头文件snprintf上定义stdio.h

#if defined snprintf
    // This definition of snprintf will generate "warning C4005: 'snprintf':     macro
    // redefinition" with a subsequent line indicating where the previous definition
    // of snprintf was.  This makes it easier to find where snprintf was defined.
    #pragma warning(push, 1)
    #pragma warning(1: 4005)
    #define snprintf Do not define snprintf as a macro
    #pragma warning(pop)
    #error Macro definition of snprintf conflicts with Standard Library function declaration
#endif

有人能帮帮我..谢谢!

1 个答案:

答案 0 :(得分:1)

我在尝试构建libsndfile-1时遇到同样的错误。我通过使用VS2013而不是VS2015构建来解决它。 (我认为应该可以简单地安装VS2013构建工具并从VS2015构建)。

编辑:安装VS2013构建工具集,运行VS2015安装程序并选择' Windows 8.1和Windows Phone 8.0 / 8.1工具'