【问题标题】:How to use a MFC dll in a Qt application如何在 Qt 应用程序中使用 MFC dll
【发布时间】:2011-05-11 10:55:32
【问题描述】:

我正在创建一个 Qt 应用程序,我需要在其中使用一个 mfc dll! (我用的是vs2008)

qt 应用程序项目属性为: 配置类型:应用 使用标准的 windows 库

这样,当我尝试使用我得到的 mfc dll 时(在构建期间):

fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

如果我将 mfc 属性更改为 Use MFC in a shared DLL 应用程序构建, 但是当我尝试运行它时,我得到了

Unhandled exception at 0x78a5b48a (mfc90ud.dll) in myApplication.exe: 0xC0000005: Access violation reading location 0x00000000.

有什么想法吗?

谢谢!

【问题讨论】:

    标签: c++ qt dll mfc


    【解决方案1】:

    我猜问题是你的 Qt-dll 是用另一个版本的 C++ 运行时库而不是 MFC-dll 构建的。使用具有不同运行时的两个 DLL 会在您启动程序时导致崩溃。

    我不知道你是否可以从源代码重建 Qt,这将是我唯一的猜测如何解决这个问题。您究竟需要 MFC 库提供什么?也许还有另一种方法可以做你想做的事。

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 2016-06-21
      • 1970-01-01
      • 1970-01-01
      • 2011-01-10
      • 2011-02-16
      相关资源
      最近更新 更多