对于代码块,您可以这样做。 右键单击**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.
7条答案
按热度按时间kpbwa7wx1#
在您的顶级源代码中添加以下行。
tzxcd3kk2#
我想你已经很接近了。John Dibling给出了三种方法,看起来你尝试了第三种解决方案,那就是“进入你的项目设置......在配置属性-〉C/C++-〉预处理器标题下,添加
;_WIN32_WINNT = 0x0501
“。你回答说你仍然会得到那个错误,并提供了你的预处理器设置的内容。WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT = 0x0501
.我想如果你把_WIN32_WINNT = 0x0501
改成_WIN32_WINNT=0x0501
你就可以解决这个问题了。当我尝试有空格的版本时,它并没有消 debugging 误,但是去掉空格就消除了。f4t66c6m3#
有几个选择。
1)如果你有一个主头文件,比如stdafx. h,你可以添加这个:
或者你可以把它加到任何你需要的地方。
2)可以添加
-D _WIN32_WINNT=0x0501
(注意空格)3)转到项目属性〉配置属性〉C/C++〉Proprocessor。将
;_WIN32_WINNT=0x0501
添加到预处理器定义。就我个人而言,我选择了#3,因为毫无疑问,它是在正确的时间在正确的翻译单元中定义的,而且我宁愿将所有的#defines放在一个地方,而不是将一些放在Preprocessor Defines中,而将其他放在高级选项卡中。
r1wp621o4#
在D后面加一个空格
ncgqoxb05#
你应该像很多人建议的那样定义你想要的窗口版本:
您不想使用碰巧安装的SDK版本的原因是:
slhcrj9b6#
对于代码块,您可以这样做。
右键单击
**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 >>
,然后按原样添加以下行:ix0qys7i7#
OP没有问过CMake,但是google把我带到了这里。如果你正在使用CMake,试着把这个添加到你的(顶级)CMakeLists.txt中:
我对Windows 10很感兴趣,所以
myWindowsTarget
就是0x0A00
。以下是Windows Targets的完整列表