gpt4 book ai didi

winapi - Websphere MQ C++ 客户端在 VS2013 中崩溃-库/链接器问题?

转载 作者:行者123 更新时间:2023-12-01 11:41:33 26 4
gpt4 key购买 nike

我刚刚将一个项目从 VS2010 升级到 VS2013,现在每当我通过 MQ 发送消息时它都会崩溃,但它在 VS2010 下运行良好。

我怀疑它与 VS2013 有关,所以我构建了一个 MQ 附带的演示应用程序 - imqwrld.cpp,这是一个简单的“hello world”应用程序。

仅此代码就足以让调试运行时库抛出异常:

 #include <imqi.hpp> // WebSphere MQ C++
int main ( int argc, char * * argv ) {

ImqQueue * p = new ImqQueue();
delete p;
return 0
}

当 ImqObject 被删除时,c rtl 检测到内存损坏。

我怀疑这是因为 DLL hell 。 MQ dll 依赖于 msvcr80.dll,我的程序使用不同版本的库 - msvcr120d.dll。

关于如何解决这个问题有什么建议吗?我正在使用 MQ 客户端 7

最佳答案

它是当前版本(7.5 及更高版本)的错误/限制 - MQ 从中生成其 C++ 库的编译器,而 Visual Studio 2012+ 编译器显然是二进制不兼容的。除了根据您要执行的操作使用 C 或 .NET API 之外,您无法解决或解决此问题...

正如@John M Gant 在下面评论的那样,here是 IBM 的官方支持页面。顺便说一句,它看起来像 MQ 系列 8.0 is supported对于 VS2012 中的 C++

关于winapi - Websphere MQ C++ 客户端在 VS2013 中崩溃-库/链接器问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20062808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com