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

Posted bclshuai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt5.11.2 VS2015编译activemq发送程序 _ITERATOR_DEBUG_LEVEL错误和崩溃解决相关的知识,希望对你有一定的参考价值。

 

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错误和崩溃解决的主要内容,如果未能解决你的问题,请参考以下文章

QGIS编译---QGIS3.10.6 + Qt5.11.2 + VS2015 ---32位版本

QT工程编译

高仿MT4行情终端(K线图+操控+简单架构)

activemq-cpp编译

Websockets - Tomcat+Spring+ActiveMQ vs ActiveMQ

ActiveMQ:Openwire vs AMQP vs Stomp