我需要用来开发我的驱动程序。所以我需要在Filter.cpp文件中编写IP帮助函数。
我在Filter.h文件中包含了这些头文件。喜欢这个
filter.h
#ifndef __FILTER_H__
#define __FILTER_H__
#include "mux/win/ndis62/global.h"
#include <windows.h>
#include <winsock2.h>
#include <iphlpapi.h>
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "iphlpapi.lib")
class CFilter {
public:
typedef PIP_ADAPTER_ADDRESSES AddressesType;
}
----
#endif // __FILTER_H__
在 filter.cpp 我正在编写包含Filter.h文件的代码。
但我正在使用Visual Studio 2013。建立之后,我遇到了错误,如
Filter.cpp
C:\Program Files (x86)\Windows Kits\8.1\Include\um\minwinbase.h(198): error C2146: syntax error : missing ';' before identifier 'CRITICAL_SECTION' [C:\Users\driver\mux\win\ndis62\tun.vcxproj]
C:\Program Files (x86)\Windows Kits\8.1\Include\um\minwinbase.h(199): error C2146: syntax error : missing ';' before identifier 'PCRITICAL_SECTION' [C:\Users\driver\mux\win\ndis62\tun.vcxproj]
C:\Program Files (x86)\Windows Kits\8.1\Include\um\minwinbase.h(202): error C2146: syntax error : missing ';' before identifier 'CRITICAL_SECTION_DEBUG' [C:\Users\driver\mux\win\ndis62\tun.vcxproj]
C:\Program Files (x86)\Windows Kits\8.1\Include\um\minwinbase.h(203): error C2146: syntax error : missing ';' before identifier 'PCRITICAL_SECTION_DEBUG' [C:\Users\driver\mux\win\ndis62\tun.vcxproj]
C:\Program Files (x86)\Windows Kits\8.1\Include\um\errhandlingapi.h(181): error C2061: syntax error : identifier 'PVECTORED_EXCEPTION_HANDLER' [C:\Users\driver\mux\win\ndis62\tun.vcxproj]
我尝试在filter.h文件中包含windows.h
。但同样的错误。我还包括C:\Program Files (x86)\Windows Kits\8.1\Include\um
properties -> C/C++ -> General -> Additional include directories
喜欢
$(IntDir);%(AdditionalIncludeDirectories);C:\Program Files (x86)\Windows Kits\8.1\Include\um
为什么会出现这个错误?我试过这些方法:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winsock2.h>
#include <iphlpapi.h>
和
#include <winsock2.h>
#include <windows.h>
#include <iphlpapi.h>
两者都给出了相同的错误。怎么解决这个?任何想法?