如何让CMake在系统路径上使用默认编译器?

时间:2013-04-18 04:31:46

标签: compiler-construction cmake

目前,我从我的构建目录中调用CMake,如下所示:

CXX =“/ opt / gcc-4.8 / bin / g ++”cmake ..

让CMake使用这个特定的编译器。否则它使用操作系统默认编译器。

我的PATH在其他一切面前都有“/opt/gcc-4.8/bin”。那么,而不是预先设置环境变量是否有办法在“`CMakeLists.txt”文件中指定使用路径上的默认g ++?

2 个答案:

答案 0 :(得分:7)

CMake尊重PATH环境变量的设置,但优先考虑通用编译器名称ccc++。要确定CMake在UNIX下默认使用哪个C编译器,请运行:

$ which cc

要确定默认的C ++编译器,请运行:

$ which c++

如果您在c++中生成指向/opt/gcc-4.8/bin的符号链接/opt/gcc-4.8/bin/g++,则CMake默认情况下应使用GCC 4.8。

答案 1 :(得分:1)

cc而不是c++的位置决定了c++ cmake将要使用的位置。例如,如果您有/usr/local/bin/c++/usr/local/bin/cc,则cmake仍会提取/usr/bin/c++,而不是/usr/local/bin/c++。在这种情况下,在指向/usr/local/bin/cc的{​​{1}}处创建符号链接可能会使用/usr/local/bin/gcc

另一种方法是将项目的语言显式设置为C ++:

/usr/local/bin/c++