3

我正在尝试从 C++ CLR 类库(新项目 -> Visual C++ -> CLR -> 类库)中调用一些 WFP 函数

代码:

#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

4

2 回答 2

1

我找到了解决方案,这是一些头文件中的错误: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

于 2011-06-30T13:37:00.343 回答
0

我也有这个错误,但不幸的是,Izm 提供的长期答案并没有为我解决。我还尝试修复和重新安装 Visual Studio 等,但无济于事。

就我而言,最终解决的问题是重新安装适用于 8.0 的 Windows SDK。无论出于何种原因,该文件在C:\Program Files (x86)\Windows Kits\8.0\Include\um它本应位于的目录中丢失。该文件位于其他 Windows SDK(8.1 和 10)的各个其他位置,但不在项目使用的那个位置。

我不知道为什么它丢失了,但是我通过查看相关 C++ 项目的属性并查看其继承的 Include Directories 选项的评估结果发现它不存在,最终成为 8.0 工具包文件夹。我以为它在那里,因为我在其他文件夹中看到了该文件,但它不在正确的文件夹中,大概是因为某处为我弄乱了 8.0 SDK 文件。

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

于 2016-05-31T18:37:22.400 回答