目前,我从我的构建目录调用 CMake,如下所示:
CXX="/opt/gcc-4.8/bin/g++" cmake ..
让 CMake 使用这个特定的编译器。否则,它使用操作系统默认编译器。
我的 PATH/opt/gcc-4.8/bin
在其他所有内容前面都有“”。那么,有没有办法在“`CMakeLists.txt”文件中指定在路径上使用默认的g++,而不是预先设置环境变量?
目前,我从我的构建目录调用 CMake,如下所示:
CXX="/opt/gcc-4.8/bin/g++" cmake ..
让 CMake 使用这个特定的编译器。否则,它使用操作系统默认编译器。
我的 PATH/opt/gcc-4.8/bin
在其他所有内容前面都有“”。那么,有没有办法在“`CMakeLists.txt”文件中指定在路径上使用默认的g++,而不是预先设置环境变量?
CMake 尊重PATH
环境变量的设置,但优先考虑通用编译器名称cc
和c++
. 要确定 CMake 在 UNIX 下默认使用哪个 C 编译器,请运行:
$ which cc
要确定默认的 C++ 编译器,请运行:
$ which c++
如果生成指向 的符号链接,c++
CMake应默认使用 GCC 4.8。/opt/gcc-4.8/bin
/opt/gcc-4.8/bin/g++
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)