31

不知道该怎么做这个错误。在项目属性下添加-D_WIN32_WINNT=0x0501到 Visual Studio 的“命令行”选项,但它说它无法识别它并且警告仍然出现。

我也不确定如何添加预处理器定义。

1>请适当定义_WIN32_WINNT或_WIN32_WINDOWS。例如:
1>-在编译器命令行中添加-D_WIN32_WINNT=0x0501;或
1>- 将 _WIN32_WINNT=0x0501 添加到项目的预处理器定义中。

4

5 回答 5

26

在您的顶级源代码中添加以下行。

#include <SDKDDKVer.h>
于 2017-05-07T14:10:22.403 回答
24

我认为你真的很接近让它发挥作用。John Dibling 提供了三种方法可以做到这一点,看起来您尝试了第三种解决方案,即“进入项目设置......并在Configuration Properties->C/C++->PreProcessor标题下,添加;_WIN32_WINNT = 0x0501”。您回答说您仍然收到该错误并提供了预处理器设置的内容,WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT = 0x0501. 我认为如果您更改_WIN32_WINNT = 0x0501_WIN32_WINNT=0x0501. 当我尝试使用空格的版本时,它并没有消除错误,但是删除了空格。

于 2010-09-17T20:46:39.747 回答
19

几个选项。

1) 如果你有一个主头文件,比如 stdafx.h,你可以添加这个:

#define _WIN32_WINNT 0x0501

或者你可以在任何你需要的地方添加它。

2)您可以添加-D _WIN32_WINNT=0x0501(注意空格)

3) 转到项目属性 > 配置属性 > C/C++ > Proporcessor。添加;_WIN32_WINNT=0x0501预处理器定义

就个人而言,我选择#3,因为毫无疑问它是在正确的时间在正确的翻译单元中定义的,我宁愿将所有#defines 放在一个地方,而不是一些在Preprocessor Defines中,而另一些在高级选项卡中.

于 2010-06-08T21:02:40.253 回答
3

在 D 后面加一个空格

于 2010-06-08T19:34:56.427 回答
0

对于代码块,这是您的操作方式。

右键单击**Project Name** on your left >> Click 'Build Options' >> Select Debug or Release on your left >> Select 'Compiler Settings' Tab on the right >> Select #defines tab >>然后按原样添加以下行:

_WIN32_WINNT=0x0501

>> Click Ok >> Close >> Right click **Project Name** again >> Re-build.
于 2017-06-26T10:08:43.040 回答