在Visual Studio 2010中包含fwpmu.h出错

3
我可以帮您进行翻译。以下是关于IT技术的内容,涉及调用WFP函数并使用C++ CLR类库实现(新建项目 -> Visual C++ -> CLR -> 类库)。
代码如下:
#include <windows.h>
#include <fwpmu.h>
#pragma comment (lib, "fwpuclnt.lib")

仅仅这样,许多来自Windows SDK的包含文件无法编译。我错过了什么吗?
例如:
Error 12 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (program files)\microsoft sdks\windows\v7.0a\include\fwptypes.h 336 1 testlib

编辑:

我找到了解决方案,这是一些头文件中的一个错误: http://social.msdn.microsoft.com/Forums/en/wfp/thread/8fd93a3d-a794-4233-9ff7-09b89eed6b1f

还有CLR和另一个标题之间的冲突: http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/92c473d6-c963-44fa-9150-6c6af502112b

2个回答


0

我也遇到了这个错误,但是Izm提供的长期答案对我没有解决,不幸的是。我还尝试修复和重新安装Visual Studio等其他方法,但都无济于事。

在我的情况下,最终解决问题的方法是重新安装Windows SDK 8.0版。由于某种原因,文件从应该在其中的C:\Program Files (x86)\Windows Kits\8.0\Include\um目录中丢失了。该文件在其他Windows SDK(8.1和10)的各种其他位置中都有,但不在项目使用的那个SDK中。

我不知道为什么它会丢失,但是通过查看相关C ++项目的属性并查看其继承的包含目录选项计算出的内容,我发现它不在那里,而这个选项最终指向了8.0工具包文件夹。我以为它在那里,因为我在其他文件夹中看到了该文件,但是它不在正确的文件夹中,可能是因为某个地方出了问题,导致8.0 SDK文件出现了问题。

希望这可以帮助任何其他遇到此错误或类似错误的人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接