我正在编译一个迭代器调试级别为 2 的静态库(在本例中为Rive),以与该项目中的所有其他静态库兼容。该工具集是 Windows 上的 LLVM clang,针对 x64。
旁注:Rive 项目使用的构建系统(premake5)与我编译的其他使用 cmake 的不同。
我在编译期间遇到错误#error _ITERATOR_DEBUG_LEVEL > 1 is not supported in release mode.
。但是,据我所知,我不是在发布模式下编译。为什么我会收到有关“发布模式”的错误?
这是一个示例编译器命令:
clang++ -MMD -MP -D_USE_MATH_DEFINES -DDEBUG -D_ITERATOR_DEBUG_LEVEL=2 -I../include -m64 -g -std=c++17 -Wall -fno-exceptions -fno-rtti -MTd -o \"obj/debug/cubic_asymmetric_vertex_base.o\" -MF \"obj/debug/cubic_asymmetric_vertex_base.d\" -c \"../src/generated/shapes/cubic_asymmetric_vertex_base.cpp\"",...)
据我所知,-g
正在生成调试符号并-MTd
指定调试静态库。为什么错误告诉我我处于发布模式?