CMake标志更改调试配置

CMake flag changes debug configuration

本文关键字:调试 配置 标志 CMake      更新时间:2023-10-16

我有一个项目在CMake 2.8.9上运行,并使用Visual Studio 2008进行构建。在CMakeLists.txt中,我将调试配置的默认运行库切换为MTd:

set(CMAKE_CXX_FLAGS_DEBUG "/MTd")

不幸的是,这一行还导致将标志"调试信息格式"切换为"禁用",这意味着我无法调试我的项目。:-(

如果我从CMakeLists.txt中删除该行,则运行库为"MDd","调试信息格式"为"程序数据库(/Zi)"。有人知道原因或如何避免这个问题吗?有什么变通办法吗?是否可以通过CMake设置缺失标志?

您可能只想将该标志添加到已用标志列表中,而不是用单个标记/MTd替换标志列表。

要将/MTd附加到标志列表,请使用

set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")