Qt + MSVC + CMAKE 添加AddressSanitizer

发布时间:2026/7/10 21:19:46

Qt + MSVC + CMAKE 添加AddressSanitizer 位置1CMakeLists.txt 文件首先需要在项目的 CMakeLists.txt 文件中添加配置代码。找到你的 CMakeLists.txt # 在 CMakeLists.txt 中添加以下代码在 find_package 之前option(ENABLE_ASAN Enable AddressSanitizer OFF) if(ENABLE_ASAN AND MSVC) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} /fsanitizeaddress) set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} /fsanitizeaddress) set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} /INCREMENTAL:NO) message(STATUS MSVC AddressSanitizer enabled) endif()或者# AddressSanitizer 配置MSVC option(ENABLE_ASAN Enable AddressSanitizer OFF) if(ENABLE_ASAN) if(MSVC) # MSVC 的 AddressSanitizer 编译选项 set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} /fsanitizeaddress) set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} /fsanitizeaddress) # 链接选项 set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} /INCREMENTAL:NO) message(STATUS MSVC AddressSanitizer enabled) else() # GCC/Clang 的配置 set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -fsanitizeaddress) set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} -fsanitizeaddress) set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} -fsanitizeaddress) endif() endif()添加 AddressSanitizer 配置 ### 位置2Qt Creator 中的 Additional CMake options找到 Additional CMake options 输入框 滚动到 Kit Configuration 区域的底部Additional CMake options: ______________________在这个输入框中添加 -DENABLE_ASANON### 完整步骤### 完整步骤 步骤1编辑 CMakeLists.txt1. 在 Qt Creator 中打开 CMakeLists.txt2. 在文件开头添加 AddressSanitizer 配置3. 保存文件 步骤2在 Qt Creator 中设置1. 打开 Projects 面板左侧边栏2. 选择 Desktop Qt 5.15.2 MSVC2019 64bit 配置3. 滚动到 Kit Configuration 区域4. 在 Additional CMake options 输入框中输入5. 点击下方的 执行CMake 按钮6. 重新构建项目Qt Creator Projects 面板┌─────────────────────────────────────────────────────────┐│ Kit Configuration ││ ┌───────────────────────────────────────────────────┐ ││ │ 密钥 值 │ ││ │ QT_QMAKE_EXECUTABLE .../qmake.exe │ ││ │ Qt5Core_DIR .../Qt5Core │ ││ │ ... ... │ ││ └───────────────────────────────────────────────────┘ ││ ││ Additional CMake options: ___________________________ │ ← 在这里输入-DENABLE_ASANON│ ││ 执行CMake │ ← 点击这个按钮│ ││ 使用 Build Environment ││ ┌───────────────────────────────────────────────────┐ ││ │ ... │ ││ └───────────────────────────────────────────────────┘ │└─────────────────────────────────────────────────────────┘### 验证是否生效1. 构建项目2. 运行程序3. 如果启用成功控制台会输出类似信息12345AddressSanitizer: libasan initializing### 总结位置 需要做什么 CMakeLists.txt 添加 AddressSanitizer 编译选项 Additional CMake options 添加 -DENABLE_ASANON 执行CMake 点击重新配置项目

相关新闻