读书人

关于VS include的有关问题

发布时间: 2013-09-05 16:02:07 作者: rapoo

关于VS include的问题?
本帖最后由 VisualEleven 于 2013-09-02 16:49:28 编辑 在网上下载了一个源代码,之前是可以运行的

后来再编译就出了编译错误:
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

有的甚至都没有,到底是怎么导致的?
[解决办法]
是不是和你include头文件的顺序有关系???

读书人网 >VC/MFC

热点推荐