无法为 CMake 设置 g++ 编译器

Cannot set g++ compiler for CMake

本文关键字:g++ 编译器 设置 CMake      更新时间:2023-10-16

我想在我的CPP项目中使用g++编译器。所以我像这样设置 Cmake 文件:

set(CMAKE_CXX_COMPILER "/usr/local/bin/g++")
project(GatewayTest LANGUAGES C CXX)
...

但是当错误仍然显示与 Clang 时。我在MacOS Sierra上运行。错误是:

clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用(。我这个设置有错吗?

不要尝试从CMakeLists.txt内部设置编译器。

此标志背后的想法是,您为用户提供了指定要使用的编译器的机会。这是有道理的,因为用户将知道他们将在哪台机器上构建,因此他们应该知道在哪里可以找到编译器。将此信息作为构建脚本的一部分是没有意义的,因为原则上,构建脚本应该可移植到任何机器和编译器。

如果您的项目需要正确构建特定的编译器,则可以检查变量(如 CMAKE_CXX_COMPILER(,并在它们不包含预期内容时引发诊断,但切勿写入这些变量。

如果确实要编写编译器检测的脚本,可以将对 CMake 的调用包装在设置用于编译器检测的变量的 shell 脚本中,也可以使用工具链文件来配置 CMake。

set(CMAKE_C_COMPILER "clang")
set(CMAKE_CXX_COMPILER "clang++")
project(GatewayTest LANGUAGES C CXX)
...