3

C ++ CLRクラスライブラリからいくつかのWFP関数を呼び出そうとしています([新しいプロジェクト]-> [Visual C ++]-> [CLR]-> [クラスライブラリ])

コード:

#include <windows.h>
#include <fwpmu.h>
#pragma comment (lib, "fwpuclnt.lib")

それだけでは、WindowsSDKの多くのインクルードファイルはコンパイルに失敗します。私は何が欠けていますか?

例:

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の修復と再インストールも試みましたが、役に立ちませんでした。

私の場合、最終的に修正されたのは、Windows SDKfor8.0を再インストールすることでした。何らかの理由で、ファイルは本来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 に答える