目前,我调用CMake的从我的生成目录,如下所示:如何让CMake在系统PATH上使用默认编译器?
CXX = “/选择/ GCC-4.8 /斌/ G ++” cmake的..
获得CMake的使用这个特定的编译器。否则它使用操作系统默认编译器。
我的PATH的“/opt/gcc-4.8/bin
”在其他所有内容之前。因此,在“CMakeLists.txt”文件中指定使用路径上的默认g ++的方法,而不是预先添加环境变量?
目前,我调用CMake的从我的生成目录,如下所示:如何让CMake在系统PATH上使用默认编译器?
CXX = “/选择/ GCC-4.8 /斌/ G ++” cmake的..
获得CMake的使用这个特定的编译器。否则它使用操作系统默认编译器。
我的PATH的“/opt/gcc-4.8/bin
”在其他所有内容之前。因此,在“CMakeLists.txt”文件中指定使用路径上的默认g ++的方法,而不是预先添加环境变量?
CMake赞同PATH
环境变量的设置,但优先考虑通用编译器名称cc
和c++
。要确定哪个C编译器将UNIX下的违约CMake的使用,运行:
$ which cc
要确定默认的C++编译器,运行:
$ which c++
如果您在/opt/gcc-4.8/bin
生成一个符号链接c++
这指向/opt/gcc-4.8/bin/g++
,CMake默认应该使用GCC 4.8。
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)
好的,谢谢。原来,我运行的shell脚本弄乱了我的PATH。对于有用的信息,接受这个答案“CMake尊重PATH环境变量的设置,但优先考虑通用编译器名称cc和C++”。 – Jeet 2013-04-18 15:53:46