如何在Qt应用程序中使用MFC DLL

时间:2011-05-11 10:55:33

标签: c++ qt dll mfc

我正在创建一个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.

任何想法?

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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