Qt5.11.2 VS2015编译activemq发送程序 _ITERATOR_DEBUG_LEVEL错误和崩溃解决

2022-12-03,,,,

1.问题描述:

运行环境是 win10 64位系统,开发环境是VS2015 ,Qt 5.11.2。开发activemq发送程序,遇到问题

(1)Qt5AxContainer.lib error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“1”
  Qt5AxBase.lib error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“1”

问题分析:使用activemq-cpp.dll之前用VS2008编译的dll文件,在vs2015上编译,会与Qt的库发生冲突。所以要重新在vs2015上编译activemq库,才可以编译。而且release要用release版本的库,位数和版本都要对应上。

(2)在pConnectionFactory = new (std::nothrow) ActiveMQConnectionFactory(string(chMqUri));处崩溃

然后弹出报错:0x6EEC9C11 (libapr-1.dll)处(位于 project_0820.exe 中)引发的异常: 0xC0000005:

问题分析:这个崩溃操作是因为没有执行activemq初始化函数,所以现在构造函数中加上activemq初始化语句如下:

activemq::library::ActiveMQCPP::initializeLibrary();

Qt5.11.2 VS2015编译activemq发送程序 _ITERATOR_DEBUG_LEVEL错误和崩溃解决的相关教程结束。

《Qt5.11.2 VS2015编译activemq发送程序 _ITERATOR_DEBUG_LEVEL错误和崩溃解决.doc》

下载本文的Word格式文档,以方便收藏与打印。