none
_WIN32_WINNT的定义取决于编译所在os还是运行所在os RRS feed

  • 问题

  • 假设某个c++程序在win7下编译生成,但要在winserver2008下运行,默认的,我选用的是10.0.16299.0windows sdk版本。那么编码的时候,_WIN32_WINNT要定义成什么?win7,winserver2008还是win10?
    • 已编辑 sculida 2018年1月16日 12:53 补充信息
    2018年1月16日 12:32

答案

  • Hi sculida,

    感谢在MSDN论坛发帖。

    >>假设某个c++程序在win7下编译生成,但要在winserver2008下运行,默认的,我选用的是10.0.16299.0windows sdk版本。那么编码的时候,_WIN32_WINNT要定义成什么?win7,winserver2008还是win10?

    _WIN32_WINNT宏用来定义使用哪个版本的Windows头文件。对于这种情况,你应该定义为下面的值:

    #define _WIN32_WINNT_WIN10                  0x0A00 // Windows 10 

    更多关于如何使用Windows头文件的内容,你可以参考下面的文档。

    https://msdn.microsoft.com/library/windows/desktop/aa383745#setting_winver_or__win32_winnt

    希望对你有所帮助。

    Best Regards,

    Baron Bi


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 sculida 2018年1月19日 7:56
    2018年1月17日 1:37