【发布时间】:2013-06-04 09:20:37
【问题描述】:
使用CMake,如何选择要使用的shell?默认情况下,我的似乎设置为sh,但我需要从我的.bashrc 加载一些环境变量,我想改变shell 是要走的路。
我实际上是在尝试使用以下指令将 clang++ 设置为 C++ 编译器:
set (CMAKE_CXX_COMPILER "clang++")
但是当我尝试编译代码时,正在使用的 shell 是 sh,它没有找到 clang++,因为我通过以下 export 在我的 .bashrc 中使二进制文件可见:
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
【问题讨论】:
-
这很奇怪......这看起来不像是 CMake 错误消息。你能发布完整的错误日志吗?
-
在你正在执行
cmake的shell中尝试which clang++。错误可能会出现,因为 clang++ 不在您执行cmake的 shell 路径中。 -
@Samveen Weird,
which找不到clang++,尽管我可以直接使用clang++执行它。我的意思是,当前会话计算clang++,并正确执行它。 -
@Guillaume 我认为它不会增加太多,但我已经对整个错误进行了编辑。
-
@Rubens 也试试
type clang++和alias|grep clang。也可以是别名。