注意
本文最后更新于 2024-06-11,文中内容可能已过时。
为了以指定版本的编译器进行编译,我们可以通过修改 cmake
默认编译器 (CMAKE_CXX_COMPILER)。然而,如果在多项目的 add_subdirectory
包含其他项目,可能造成死循环的问题。
处理这个问题,需要我们在所有项目的顶层设置,即在最顶层的项目 CMakeLists.txt
的 project
之前设置
1
2
3
4
5
6
7
8
9
|
# top setting ===========================================================----==
cmake_minimum_required(VERSION 3.15)
SET(CMAKE_C_COMPILER /usr/bin/gcc)
SET(CMAKE_CXX_COMPILER /usr/bin/g++)
set(CMAKE_CXX_STANDARD 17 CACHE STRING "v")
## =============================================================================
## need to be after top setting
project(snail CXX)
## =============================================================================
|
主要参考文章:CMakeLists.txt 修改默认编译器导致死循环的问题解决