使用预编译头时重新定义_WIN32_WINNT

时间:2015-05-06 13:21:53

标签: c++ windows

嗨我现在在重新定义_WIN32_WINNT时遇到问题,即使我有

#define _WIN32_WINNT 0x0600
#define WINVER _WIN32_WINNT

在我的stdafx.h中它仍默认为0x0603

我目前正在使用DirectX Tutorials附带的DDSTextureLoader,并且通过使用CreateFile2而不是CreateFile来创建错误:(

1 个答案:

答案 0 :(得分:1)

删除头文件中的所有#define,并在项目配置中添加预处理器定义-D_WIN32_WINNT=0x0600;-DWINVER=_WIN32_WINNT。这可确保定义在编译过程的最初阶段生效。有关详细信息,请参阅here

如果不适合删除标题中的#define。您可以将它们更改为以下内容:

#ifndef _WIN32_WINNT
#  define _WIN32_WINNT 0x0600
#endif
#ifndef WINVER
#  define WINVER _WIN32_WINN
#endif