1

使用 CMake,如何选择要使用的 shell?我的似乎sh默认设置为,但我需要从我的 .bashrc 加载一些环境变量,我想改变 shell 是要走的路。

我实际上是在尝试clang++使用以下指令设置为 C++ 编译器:

set (CMAKE_CXX_COMPILER "clang++")

但是当我尝试编译代码时,正在使用的 shell 是sh,并且它没有找到,因为我通过以下.bashrcclang++使二进制文件可见:export

export PATH="${PATH}:~/llvm/Debug+Asserts/bin/"

这是错误,确认sh找不到clang++二进制文件:

$ make
[100%] Building CXX object CMakeFiles/floyd-warshall.dir/main.cpp.o
/bin/sh: 1: clang++: not found
make[2]: *** [CMakeFiles/floyd-warshall.dir/main.cpp.o] Error 127
make[1]: *** [CMakeFiles/floyd-warshall.dir/all] Error 2
make: *** [all] Error 2
4

1 回答 1

1

您不应该在您的 cmake 文件中以这种方式强制 c++ 编译器(起初我以为您使用的是工具链文件)。删除该行,让 CMake 自己找到编译器。要使用 clang++,请在调用 cmake 之前设置一些环境变量。就像是:

export CC=clang
export CXX=clang++
cmake /path/to/your/project
make
于 2013-06-04T22:10:18.123 回答