c – Cmake中的平台检测

前端之家收集整理的这篇文章主要介绍了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&C++相关文章