无法打开包含文件' rpcerr.h':没有这样的文件或目录

时间:2015-04-21 14:21:34

标签: visual-studio-2012 rpc

我很高兴今天编译和运行源代码。然后我在我的一个模块中添加了几行,突然Visual Studio 2012拒绝编译代码,并显示错误消息:

  

错误C1083:无法打开包含文件:' rpcerr.h':没有这样的文件或目录。

我不确定为什么编译器突然需要找到rpcerr.h。我没有做任何我昨天做过的事情,但现在我无法解决这个错误。

我自己也找不到rpcerr.h。引用位于rpc.h中,它是Visual Studio库的一部分。我猜测它已被链接,因为我包含<windows.h>。但我不知道在哪里可以找到rpcerr.h,或者该文件应该做什么。

我真的很想继续这个发展。我猜测代码试图编译rpcerr.h是有充分理由的,如果我因为某种原因将rpc.h用于编译成我的源代码,那么我也应该rpcerr.h。但是试图找到它会让我进入一个莫比乌斯循环。

目前,编译器只抱怨rpcerr.h

1 个答案:

答案 0 :(得分:2)

我最好把它写出来,迟早会发生这种情况。 <rpc.h> SDK文件很古老,可以追溯到Microsoft支持为Apple Macintosh编写代码的日子。它仍然支持它,rpcerr.h有一个#include。但是不再提供该文件,只有rpcnterr.h可用。

您需要扫描源代码,或者最近添加#includes,以查找用于选择Macintosh目标的MAC_MAC的#define。使用编辑器的“Go To Definition”上下文菜单命令是最简单的方法。

或者将其用作解决方法:

#undef MAC
#undef _MAC
#include <rpc.h>

或者更改#includes的顺序。请注意,这些变通办法可能会产生副作用,具体取决于使用其他定义的方式。

相关问题