zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

错误程序 解决 编译 发送 debug 崩溃 level
2023-09-14 09:07:37 时间

 

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();