error C2371: “INT32”: 重定义;不同的基类型

转载原文博客:http://blog.csdn.net/u013078356/article/details/54999361

最近在windows上编译dlib-19.1静态库文件的时候,发现系统自带的basetsd.h文件和 Anaconda2中jmorecfg.h头文件中的定义相冲突。

产生问题:basetsd.h(72): error C2371: “INT32”: 重定义;不同的基类型

修改方法1:

将jmorecfg中定义的typedef long INT32 改成typedef long INT32B即可。


修改方法2:

仔细阅读jmorecfg.h冲突代码可以发现,如果已经定义了_BASETSD_H等就不会再定义typedef long INT32,所以可以在这一段代码的前面提前包含进去:即引入#include

打开jmorecfg.h程序增加一行即可:

#include       //需要我们自己添加上
#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
#ifndef _BASETSD_H_ /* Microsoft defines it in basetsd.h */
#ifndef _BASETSD_H /* MinGW is slightly different */
#ifndef QGLOBAL_H /* Qt defines it in qglobal.h */
typedef long INT32;
#endif
#endif

#endif
#endif


这里建议第二种修改方法。


你可能感兴趣的:(VS013)