Как использовать MFC dll в приложении Qt - PullRequest
2 голосов
/ 11 мая 2011

Я создаю приложение 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 Ответ

2 голосов
/ 12 мая 2011

Полагаю, проблема в том, что ваш Qt-dll собран с другой версией библиотек времени выполнения C ++, чем MFC-dll. Использование двух библиотек DLL с разными средами выполнения вызывает сбой при запуске программы.

Я не знаю, сможете ли вы пересобрать Qt из исходных кодов, это будет моя единственная догадка, как решить эту проблему. Что именно вам нужно из библиотеки MFC? Возможно, есть другой способ сделать то, что вы хотите.

...