目前,我从我的构建目录中调用CMake,如下所示:
CXX =“/ opt / gcc-4.8 / bin / g ++”cmake ..
让CMake使用这个特定的编译器。否则它使用操作系统默认编译器。
我的PATH在其他一切面前都有“/opt/gcc-4.8/bin
”。那么,而不是预先设置环境变量是否有办法在“`CMakeLists.txt”文件中指定使用路径上的默认g ++?
答案 0 :(得分:7)
CMake尊重PATH
环境变量的设置,但优先考虑通用编译器名称cc
和c++
。要确定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++