VS2010 VS2012 VS2013 VS2015 error C2061: syntax error: identifier '__RPC__out_xcount_part'最完整完美解决方法

xingyun86 2018-12-12 4414

问题描述:之前工程项目使用vs2008编写,后来在vs2015上重新编译时,发现以下error:

1>------ 已启动生成: 项目: Test, 配置: Debug Win32 ------

1> stdafx.cpp

1>c:/program files/microsoft sdks/windows/v7.0a/include/objidl.h(11280): error C2061: 语法错误: 标识符“__RPC__out_xcount_part”

1>c:/program files/microsoft sdks/windows/v7.0a/include/objidl.h(11281): error C2059: 语法错误:“)”

1>c:/program files/microsoft sdks/windows/v7.0a/include/objidl.h(11281): fatal error C1903: 无法从以前的错误中恢复;正在停止编译

========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

1>------ 已启动生成: 项目: Test, 配置: Debug Win32 ------

1> stdafx.cpp

1>c:/program files/microsoft sdks/windows/v7.0a/include/objidl.h(11280): error C2061: syntax error: identifier '__RPC__out_xcount_part'

========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

解决过程:

在网上搜了很多解决方法,大致有以下几种:

方法1

把WindowsSDK的包含目录放在最前!

操作:在项目上单击右键—》属性—》配置属性—》VC++目录,修改“包含目录”,把 $(WindowsSdkDir)include 放在最前。重新编译。问题解决的。

方法2

解决方法:

在DX目录下的Rpcsal.h中添加如下预编译指令:

#define __RPC__out_xcount_part(size, length)

#define __RPC__in_xcount(size)

#define __RPC__in_xcount_full(size)

#define __RPC__in_range(min, max)

#define __RPC__inout_xcount(size)

解决方法大都是以上两种了,但是我都试过,都以失败告终,后来在一个帖子上,一个网友的回复中看到了另一个办法:

方法3

删除DX 目录下的rpcsal.h。问题得到了解决。


×
打赏作者
最新回复 (0)
只看楼主
全部楼主
返回