CMake:如何选择不同的shell

CMake: how to select a different shell

本文关键字:shell 选择 何选择 CMake      更新时间:2023-10-16

使用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文件中强制使用c++编译器(起初我以为你使用的是工具链文件)。删除这一行,让CMake自己找到编译器。要使用clang++,在调用cmake之前设置一些环境变量。比如:

export CC=clang
export CXX=clang++
cmake /path/to/your/project
make