CMake 标志更改调试配置
Posted
技术标签:
【中文标题】CMake 标志更改调试配置【英文标题】:CMake flag changes debug configuration 【发布时间】:2014-04-25 16:31:45 【问题描述】:我有一个在 CMake 2.8.9 上运行的项目,并使用 Visual Studio 2008 进行构建。在 CMakeLists.txt 中,我将调试配置的默认运行时库切换为 MTd:
set(CMAKE_CXX_FLAGS_DEBUG "/MTd")
不幸的是,这一行还导致将标志“调试信息格式”切换为“禁用”,这意味着我无法调试我的项目。 :-(
如果我从 CMakeLists.txt 中删除该行,则运行时库为“MDd”,“调试信息格式”为“程序数据库 (/Zi)”。有谁知道原因或如何避免这个问题?有什么解决方法吗?是否可以通过 CMake 设置缺少的标志?
【问题讨论】:
也许是因为你设置这个时另一个标志被删除了?CMAKE_CXX_FLAGS_DEBUG
在设置之前包含什么?您可以使用message("Flag: $CMAKE_CXX_FLAGS_DEBUG")
显示它。
【参考方案1】:
您可能只想添加该标志到已用标志列表中,而不是替换单个标记/MTd
的标志列表。
要将/MTd
附加到标志列表中,请使用
set(CMAKE_CXX_FLAGS_DEBUG "$CMAKE_CXX_FLAGS_DEBUG /MTd")
【讨论】:
就是这样。谢谢。以上是关于CMake 标志更改调试配置的主要内容,如果未能解决你的问题,请参考以下文章