如何让 CMake 找到非最新版本的 GCC?
How can I get CMake to find a non-latest version of GCC?
我有一些用 CMake (3.x) 构建的 C++ 代码,由于 Boost library issue.
我的系统有 /usr/bin/g++ linking 到 /usr/bin/g++-5.2 ,还有 /usr/bin/g++-4.9 。显然我可以让我的 CMakeLists.txt 手动选择 /usr/bin/g++-4.9 作为我的编译器,但这意味着它会在另一个系统上中断......我怎样才能让 CMake 找到 "a version of g++ >=4 but < 5" ?或者 "The latest version of g++ that's still < 5"?
您无法使用内置机制执行此操作。 CMake 搜索 /usr/bin/c++
并且如果有效,它不会进一步查找。您可以检查找到的编译器的版本号,并在它不符合您的约束条件时发出错误。
建议您的用户(或自己使用)CMake 变量 CMAKE_C_COMPILER
和 CMAKE_CXX_COMPILER
以指示您要使用哪个编译器。
我有一些用 CMake (3.x) 构建的 C++ 代码,由于 Boost library issue.
我的系统有 /usr/bin/g++ linking 到 /usr/bin/g++-5.2 ,还有 /usr/bin/g++-4.9 。显然我可以让我的 CMakeLists.txt 手动选择 /usr/bin/g++-4.9 作为我的编译器,但这意味着它会在另一个系统上中断......我怎样才能让 CMake 找到 "a version of g++ >=4 but < 5" ?或者 "The latest version of g++ that's still < 5"?
您无法使用内置机制执行此操作。 CMake 搜索 /usr/bin/c++
并且如果有效,它不会进一步查找。您可以检查找到的编译器的版本号,并在它不符合您的约束条件时发出错误。
建议您的用户(或自己使用)CMake 变量 CMAKE_C_COMPILER
和 CMAKE_CXX_COMPILER
以指示您要使用哪个编译器。