_ITERATOR_DEBUG_LEVEL 项目中一个文件不匹配

问题描述 投票:0回答:1

我正在尝试使用 amqpcpp 库在 Visual Studio Community 2022 (v143) 中编译我的 C++ 项目,但没有成功。

我已经使用其 github 页面上的说明构建了 amqpcpp 库文件,并将 amqpcpp.lib 导入到 Visual Studio 链接器并包含编译器的标头。 Visual Studio 识别了新库,并且 Intellisense 可以正常使用它。

在编译时,我收到多个错误,说明相同的描述

检测到“_ITERATOR_DEBUG_LEVEL”的错误 LNK2038 不匹配:值“2”与 Assembly.obj IntegratorWorkflow C:\Users\user\source 中的值“0”不匹配 epos\IntegratorWorkflow mqpcpp.lib(field.obj)

对于 amqpcpp.lib 的多个文件,我得到相同的错误,唯一的区别是末尾的文件名

我的项目从一开始就使用“调试”选项正确编译,但只有在包含 amqpcpp.lib 后才出现错误。

我尝试使用 CMakeList.txt 中的“COMPILE_FLAGS_DEBUG”/D_ITERATOR_DEBUG_LEVEL=2”选项编译此库,但仍然遇到相同的错误。

我还检查了项目中的所有文件(如果有)设置为发布模式,但什么也没得到。

也许有人可以帮助我解决这个问题。我很高兴能得到任何帮助。

c++ visual-studio compiler-errors linker-errors amqp
1个回答
0
投票

好吧,我明白了。由于某种原因,我的 Visual Studio 项目已在预处理器定义中声明 _ITERATOR_DEBUG_LEVEL=0。删除此解决了问题

© www.soinside.com 2019 - 2024. All rights reserved.