← 返回目录

强制让cmake使用指定编译器如某个版本的gcc 和g++

发布时间: 2025-01-21 14:54:06
浏览量: 482
点赞数: 3
标签: linux, 运维, 服务器
可以定义CC和CXX ,不过还是使用cmake本身的宏定义比较好。

如macos,cmake默认其实是使用clang的,编译一些比较新的开源项目,一些编译选项就用了,像多项模板也使用不了。如clang: error: unknown argument: '-floop-strip-mine'

如 模板    template<int32_t bits = 0, int32_t exp = 0>
    void SaveToDisk(const char* const dictionary)

这些。

这时候可以指定gcc为编译器,可以使用CC和CXX来定义 ,不过还是使用cmake本身的宏定义比较好CMAKE_C_COMPILER 和 CMAKE_CXX_COMPILER。使用方法如下:

cmake -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ ..

cmake -DCMAKE_C_COMPILER=/usr/local/bin/gcc-14 -DCMAKE_CXX_COMPILER=/usr/local/bin/g++-14 ..