CMake笔记之在CMakeLists.txt
文件中开启Debug模式
code review!
文章目录
- CMake笔记之在`CMakeLists.txt`文件中开启Debug模式
-
- [1.设置 CMake 的构建类型](#1.设置 CMake 的构建类型)
- 2.添加编译器的调试选项
- [3.使用 `CMAKE_CXX_STANDARD` (可选)](#3.使用
CMAKE_CXX_STANDARD
(可选)) - 4.编译和构建
- 5.针对多配置生成器
- [6.最终示例 `CMakeLists.txt`](#6.最终示例
CMakeLists.txt
)
1.设置 CMake 的构建类型
使用以下命令显式指定构建类型为 Debug
:
cmake
# 设置默认的构建类型为 Debug
set(CMAKE_BUILD_TYPE Debug)
注意 : 如果你使用的是多配置生成器(例如 Visual Studio 或 Xcode),
CMAKE_BUILD_TYPE
将不起作用,你需要通过生成器来选择配置模式。
2.添加编译器的调试选项
CMake 会根据 CMAKE_BUILD_TYPE=Debug
自动为主流编译器(如 GCC、Clang、MSVC)设置适当的调试选项。如果你想手动设置或者覆盖这些选项,可以使用以下方式:
cmake
# 针对 Debug 模式添加额外的编译选项
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0") # -g: 生成调试信息, -O0: 禁用优化
set(CMAKE_C_FLAGS_DEBUG "-g -O0")
3.使用 CMAKE_CXX_STANDARD
(可选)
如果你使用 C++,可以指定 C++ 标准,比如 C++17:
cmake
set(CMAKE_CXX_STANDARD 17) # 设置 C++ 标准
set(CMAKE_CXX_STANDARD_REQUIRED ON) # 强制要求使用该标准
4.编译和构建
在命令行中,配置并生成 Debug 模式的构建文件:
bash
# 配置项目时指定 Debug 模式
cmake -S .-B build -DCMAKE_BUILD_TYPE=Debug
# 进入构建目录并编译
cmake --build build
5.针对多配置生成器
如果你使用的是支持多配置的生成器(如 Visual Studio 或 Xcode),需要在生成时指定配置模式。例如:
bash
cmake --build build --config Debug
6.最终示例 CMakeLists.txt
cmake
cmake_minimum_required(VERSION 3.15)
# 项目信息
project(MyProject VERSION 1.0 LANGUAGES CXX)
# 设置默认构建类型为 Debug
set(CMAKE_BUILD_TYPE Debug)
# 指定 C++ 标准
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 针对 Debug 模式的编译选项
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
set(CMAKE_C_FLAGS_DEBUG "-g -O0")
# 添加可执行目标
add_executable(my_executable main.cpp)
通过这些配置,可以在 Debug 模式下生成包含调试信息的可执行文件,并轻松使用调试工具(如 gdb 或 lldb)进行调试。