如何将_ITERATOR_DEBUG_LEVEL添加到 CMake

How to add _ITERATOR_DEBUG_LEVEL to CMake?

本文关键字:添加 CMake LEVEL ITERATOR DEBUG      更新时间:2023-10-16

我是 CMake 的新手,我想将 _ITERATOR_DEBUG_LEVEL 设置为 0 用于发布版本,设置为 2 用于调试版本,以修复尝试编译依赖于其他项目的项目时出现的问题。

错误:

_iterator_debug_level值"2"与值"0"不匹配(这适用于发布 Win32 版本,其中主项目具有禁用值 (0),并且它所依赖的项目由于某种原因在某处启用了它)

我在主项目中没有 C/C++ 属性部分,因为它是一个严重依赖 CMake 的实用程序项目。因此,我只需要通过CMake选项来解决此问题。

谁能指出我通过CMake设置视觉工作室选项的方法?

add_definitions已被弃用。使用 add_compile_definitionsCMakeLists.txt 中指定迭代器调试级别。

add_compile_definitions($<$<CONFIG:Debug>:_ITERATOR_DEBUG_LEVEL=1>)
add_definitions(-D_ITERATOR_DEBUG_LEVEL=0) 

在CMakeLists中.txt似乎有效