CMake笔记之在CMakeLists.txt文件中开启Debug模式

CMake笔记之在CMakeLists.txt文件中开启Debug模式

code review!

文章目录

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)进行调试。

相关推荐
悟乙己4 小时前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:关联技术(二)
笔记·学习·金融
yi0115 小时前
LeetCode 424. 替换后的最长重复字符|不定长滑动窗口:如何判断窗口是否合法?
笔记·python·算法·leetcode·双指针·滑动窗口
杨逢昌工厂6S管理5 小时前
116——杨逢昌:归位三定闭环法的旺季轻量化执行方案与工具清单
经验分享·笔记·职场和发展·学习方法
想喝奶茶啾啾5 小时前
AMBA CHI架构以及规范中使用的术语 翻译笔记(1)
笔记·arm·chi
yi0117 小时前
LeetCode 3. 无重复字符的最长子串|不定长滑动窗口:什么时候更新最大值?
笔记·python·算法·leetcode·双指针·滑动窗口
Water_based7 小时前
水性滚涂漆应用于滚喷机小五金件喷涂工艺详解
经验分享·笔记·产品经理
只愿云淡风清8 小时前
正则表达式学习笔记-01 正则表达式的来源
笔记·学习·正则表达式
ljt27249606618 小时前
Vue笔记(十三)--mixin
vue.js·笔记
启观川8 小时前
数据结构与算法 -第 3 章 常用算法-回溯算法
数据结构·笔记·python·算法
启观川17 小时前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·笔记·python·算法