2013-04-18 68 views
4

目前,我调用CMake的从我的生成目录,如下所示:如何让CMake在系统PATH上使用默认编译器?

CXX = “/选择/ GCC-4.8 /斌/ G ++” cmake的..

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

我的PATH的“/opt/gcc-4.8/bin”在其他所有内容之前。因此,在“CMakeLists.txt”文件中指定使用路径上的默认g ++的方法,而不是预先添加环境变量?

回答

5

CMake赞同PATH环境变量的设置,但优先考虑通用编译器名称ccc++。要确定哪个C编译器将UNIX下的违约CMake的使用,运行:

$ which cc 

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

$ which c++ 

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

+0

好的,谢谢。原来,我运行的shell脚本弄乱了我的PATH。对于有用的信息,接受这个答案“CMake尊重PATH环境变量的设置,但优先考虑通用编译器名称cc和C++”。 – Jeet 2013-04-18 15:53:46

0

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

另一种方法是你的项目的语言明确设置为C++:

project(foo CXX)