当前位置:  开发笔记 > 编程语言 > 正文

在CMake中有任何方式需要GCC版本4+吗?

如何解决《在CMake中有任何方式需要GCC版本4+吗?》经验,为你挑选了2个好方法。

我正在使用GCC v4 +中提供的一些功能,并希望CMake找到GCC v4编译器,如果找不到它,则返回错误,说明需要GCC v4.

任何人都有关于如何做这样的事情的任何模块/想法?

谢谢.



1> JesperE..:

使用try_compile()命令并尝试编译以下程序

#if __GNUC__ != 4
#error
#endif
int main() { return 0; }



2> 小智..:

实现gcc版本检查的完全不同(不一定更好)的方式是:

if(CMAKE_COMPILER_IS_GNUCXX)
  exec_program(
      ${CMAKE_CXX_COMPILER}
      ARGS                    --version
      OUTPUT_VARIABLE _compiler_output)
  string(REGEX REPLACE ".* ([0-9]\\.[0-9]\\.[0-9]) .*" "\\1"
         gcc_compiler_version ${_compiler_output})
  message(STATUS "C++ compiler version: ${gcc_compiler_version} [${CMAKE_CXX_COMPILER}]")

  if(gcc_compiler_version MATCHES "4\\.[0-9]\\.[0-9]")
    message(FATAL_ERROR "foobar")
    ...

  if(gcc_compiler_version VERSION_GREATER "4.5.99")
  ...
...

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有