9

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

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

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

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

4

2 回答 2

10

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

$ which cc

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

$ which c++

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

于 2013-04-18T10:06:30.987 回答
2

cc而不是的位置决定了要使用c++哪个cmake。c++因此,例如,如果您有/usr/local/bin/c++but /usr/local/bin/cc,cmake 仍然会拾取/usr/bin/c++,而不是/usr/local/bin/c++。在这种情况下,创建/usr/local/bin/cc指向指向的符号链接/usr/local/bin/gcc将使 cmake 使用/usr/local/bin/c++.

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

project(foo CXX)

于 2017-01-30T02:10:45.740 回答