关于VS include 的问题
汪达人 2013-08-21 10:16:33 在网上下载了一个源代码,之前是可以运行的
后来再编译就出了编译错误:
1>c:\users\dog64\desktop\crash_hook\apihook.cpp(336): error C2065: “LOAD_LIBRARY_AS_DATAFILE”: 未声明的标识符
1>c:\users\dog64\desktop\crash_hook\apihook.cpp(337): error C2065: “LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE”: 未声明的标识符
1>c:\users\dog64\desktop\crash_hook\apihook.cpp(338): error C2065: “LOAD_LIBRARY_AS_IMAGE_RESOURCE”: 未声明的标识符
我研究了一下,这几个声明都应该在winbase.h里面的(通过windows.h include进来)
但是我的电脑里面不同的路径有不同的winbase.h(我的电脑里面有装了VS2005和VS2010)
G:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\Include
G:\Program Files (x86)\Microsoft Visual Studio 8\SmartDevices\SDK\Smartphone2003\Include
G:\Program Files (x86)\Microsoft Visual Studio 8\SmartDevices\SDK\PocketPC2003\Include
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
我不知道之前include到的是哪个文件,不过现在编译有错误是C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
我个人觉得是include的问题,请问怎么改正?或者有没有办法把所有的源文件都更新了?
有的winbase.h里面有有宏定义的(你可以看看你的有没有):
#define DONT_RESOLVE_DLL_REFERENCES 0x00000001
#define LOAD_LIBRARY_AS_DATAFILE 0x00000002
#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
#define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x00000010
#define LOAD_LIBRARY_AS_IMAGE_RESOURCE 0x00000020
#define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE 0x00000040
#define LOAD_LIBRARY_REQUIRE_SIGNED_TARGET 0x00000080
而有的只有
#define DONT_RESOLVE_DLL_REFERENCES 0x00000001
#define LOAD_LIBRARY_AS_DATAFILE 0x00000002
#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
#define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x00000010
有的甚至都没有,到底是怎么导致的?