最近因为服务器上有多个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)https://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版本https://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指定gcchttps://blog.csdn.net/haohaibo031113/article/details/72833327
|