我正在创建一个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.
任何想法?
谢谢!
答案 0 :(得分:2)
我想问题是你的Qt-dll是用另一个版本的C ++运行时库而不是MFC-dll构建的。使用具有不同运行时的两个DLL会在启动程序时导致崩溃。
我不知道你是否可以从源头重建Qt,这将是我唯一的猜测如何解决这个问题。您从MFC库中到底需要什么?也许还有另一种方法可以做你想做的事。