rpcndr.h和wtypes.h冲突的解决方法

来源:清泛原创     2017-03-21 10:44:59    人气:     我有话说( 0 人参与)

清泛网(www.tsingfun.com):当编译出现如下错误时:1>c: program files (x86) microsoft sdks windows v7.0a include rpcndr.h(162): error C2632: char后面的in...

当编译出现如下错误时:

1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\rpcndr.h(162): error C2632: “char”后面的“int”非法

1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\rpcndr.h(162): warning C4091: “typedef ”: 没有声明变量时忽略“unsigned char”的左侧

1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\wtypes.h(1123): error C2371: “BOOLEAN”: 重定义;不同的基类型

1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(959) : 参见“BOOLEAN”的声明

 

在main文件的第一行加入:

#ifdef WIN32 
#include <WTypes.h> // Include this first on Win (bug #35683) 
#endif



若是 #include <wtypes.h> 及 #include <rpcndr.h> 都需要的情况下,或网上的这种情况:

由于我访问数据库用的oci,线程进行休眠的时候用到了window。h头文件,生成的时候报错如下:
1>c:\program files\microsoft sdks\windows\v6.0a\include\rpcndr.h(156) : error C2632: “char”后面的“int”非法
1>c:\program files\microsoft sdks\windows\v6.0a\include\rpcndr.h(156) : warning C4091: “typedef ”: 没有声明变量时忽略“unsigned char”的左侧
1>c:\program files\microsoft sdks\windows\v6.0a\include\wtypes.h(1117) : error C2371: “BOOLEAN”: 重定义;不同的基类型

这两个头文件我都需要,但是该怎么解决这个冲突呢?哪位大大能指点一下

建议把头文件的顺序调整一下,先包含 wtypes.h,后包含 rpcndr.h,这样就可以编译通过。

标签: 头文件  冲突  解决方案 

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)