2010-06-08 101 views
19

不知道该怎么处理这个错误。在项目属性下添加了-D_WIN32_WINNT=0x0501到Visual Studio的“命令行”选项,但它表示它不能识别它,并且警告仍然出现。D_WIN32_WINNT编译器警告与升压

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

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

回答

18

我认为你真的接近这个工作。 John Dibling给出了三种方法可以做到这一点,它看起来像你尝试了第三种解决方案,即“进入你的项目的设置......并在配置属性 - > C/C++ - >预处理器标题,添加;_WIN32_WINNT = 0x0501“。您回复说您仍然收到该错误并提供了预处理器设置的内容WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT = 0x0501。我想你可以解决这个问题,如果你把_WIN32_WINNT = 0x0501更改为_WIN32_WINNT=0x0501。当我用空格尝试版本时,它没有消除错误,但删除了空格。

3

把一个空间d

9

有几个选项之后。

1)如果你有一个主头文件,像stdafx.h中,你可以补充一点:

#define _WIN32_WINNT 0x0501 

或者你可以添加任何你需要它。

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

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

就个人而言,我选择#3,因为没有关于它正在在正确的翻译权的单位时间定义的怀疑,我宁愿在一个地方所有#定义,而不是一些正在预处理器定义和高级选项卡中的其他人。

+0

下面是什么在我的#3)准确的糊。仍然收到该错误。 :( WIN32; _DEBUG; _CONSOLE; _WIN32_WINNT = 0x0501 – bobber205 2010-06-09 00:50:49

+2

和@ bobber205:在选项#3中,不会在预处理器定义行 – 2011-02-23 12:48:05

+0

的等号周围留出空格,只是次要的错字:#define _WIN32_WINNT = 0x0501不正确,删除“=”符号。这是正确的:#define _WIN32_WINNT 0x0501 – Dredok 2015-07-14 08:52:14

4

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

#include <SDKDDKVer.h> 
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.