2011-05-04 78 views
3

我試圖調用從C++ CLR類庫一些WFP功能fwpmu.h(新建項目 - > VISUAL C++ - > CLR - >類庫)錯誤包括Visual Studio 2010中

代碼:

#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

回答

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文件。

希望這可以幫助其他任何人遇到錯誤或類似的錯誤。