我正在创建一个 Qt 应用程序,我需要在其中使用一个 mfc dll! (我用的是vs2008)
qt应用项目属性为: 配置类型:应用 使用标准的 Windows 库
这样,当我尝试使用我得到的 mfc dll 时(在构建期间):
fatal error C1189:#error:使用/MD[d](CRT dll 版本)构建 MFC 应用程序需要 MFC 共享 dll 版本。请#define _AFXDLL 或不要使用/MD[d]
如果我将 mfc 属性更改为 Use MFC in a shared DLL
应用程序构建,
但是当我尝试运行它时,我得到了
myApplication.exe 中 0x78a5b48a (mfc90ud.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000000。
有什么想法吗?
谢谢!
最佳答案
我想问题是你的 Qt-dll 是用另一个版本的 C++ 运行时库而不是 MFC-dll 构建的。当您启动程序时,使用两个具有不同运行时的 DLL 会导致崩溃。
我不知道您是否可以从源代码重建 Qt,这是我唯一的猜测如何解决这个问题。 MFC 库究竟需要什么?也许还有另一种方法可以做你想做的事。
关于c++ - 如何在 Qt 应用程序中使用 MFC dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5963067/