c – Cmake中的平台检测

Ive从boost :: asio添加了一些功能,这些功能已经沉淀了一些编译器“warnings”:

Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately.

这个问题被处理了here.我想做的是在我建立在Windows上并做出适当的定义或命令行参数时,CMake检测.

解决方法

这是一个简单的解决方案.
macro(get_WIN32_WINNT version)
    if (WIN32 AND CMAKE_SYstem_VERSION)
        set(ver ${CMAKE_SYstem_VERSION})
        string(REPLACE "." "" ver ${ver})
        string(REGEX REPLACE "([0-9])" "0\\1" ver ${ver})

        set(${version} "0x${ver}")
    endif()
endmacro()

get_WIN32_WINNT(ver)
add_deFinitions(-D_WIN32_WINNT=${ver})

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...