Linux中cmake指定特定版本gcc

最近因为服务器上有多个gcc,编译llvm的时候需要使用5.1以上的,但是由于默认目录/usr/bin下的gcc是4.8.5,在另外的目录下有一个7.3.1的,cmake默认使用老版本的gcc,导致cmake失败。

报错

输入which gcc显示的是7.3.1版本的位置,gcc --version显示的也是7.3.1,说明默认的gcc版本没问题,但是可能cmake就是默认去/usr/bin目录下面找,然后这是报错信息:

CMake Error at cmake/modules/CheckCompilerVersion.cmake:38 (message):
  Host GCC version must be at least 5.1, your version is 4.8.5.
Call Stack (most recent call first):
  cmake/modules/CheckCompilerVersion.cmake:48 (check_compiler_version)
  cmake/config-ix.cmake:13 (include)
  CMakeLists.txt:655 (include)


-- Configuring incomplete, errors occurred!

正确操作

在cmake命令中加入要使用的gcc和g++的位置,命令如下:

cmake -D CMAKE_C_COMPILER=/path/to/gcc/bin/gcc -D CMAKE_CXX_COMPILER=/path/to/gcc/bin/g++ 

此方法参考自:如何为CMake指定新的GCC路径 | 码农家园 (codenong.com)icon-default.png?t=M4ADhttps://www.codenong.com/17275348/

其他不成功的尝试

1. export CC

export CC=/usr/local/bin/gcc
export CXX=/usr/local/bin/g++
cmake /path/to/your/project
make

没用,没反应

此方法参考自:

(76条消息) cmake指定gcc版本_zhangge3663的博客-CSDN博客_cmake gcc版本icon-default.png?t=M4ADhttps://blog.csdn.net/zhangge3663/article/details/99334146

2. 在CMakeList.txt里加

SET(CMAKE_C_COMPILER “/home/hhb/gcc-5.2.0/bin/gcc”)
SET(CMAKE_CXX_COMPILER “/home/hhb/gcc-5.2.0/bin/g++”)

试过了,也不行

此方法参考自:

(76条消息) CMake 指定gcc编译版本_haohaibo031113的博客-CSDN博客_cmake指定gccicon-default.png?t=M4ADhttps://blog.csdn.net/haohaibo031113/article/details/72833327

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值