2011-05-11 161 views
2

我正在创建一个Qt应用程序,我需要在其中使用mfc dll! (我使用VS2008)如何在Qt应用程序中使用MFC dll

的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.

任何想法的人?

谢谢!

回答

2

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

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