Как включить параметр компилятора _AFXDLL при компиляции в Visual Studio 8 и «ИСПОЛЬЗОВАНИЕ MFC в качестве статической библиотеки» - PullRequest
1 голос
/ 05 января 2012

Мне нужно добавить перевод для старого приложения VS C ++. Это приложение и все .lib-файлы, на которые оно неявно ссылается, компилируются с использованием MFC в качестве статической библиотеки.

Чтобы перевести приложение на другие языки, мне нужно явно указать ресурс dll. Я использую объект CDynLinkLibrary, определенный в #include <afxdll_.h>.

Теперь проблема в том, что я получаю сообщение об ошибке fatal error C1189: #error : file must be compiled with _AFXDLL, когда я включаю заголовок afxdll_.h.

Изменение моего проекта для использования MFC в качестве совместно используемой библиотеки не представляется возможным по многим причинам. Как обойти эти ограничения?

1 Ответ

1 голос
/ 05 января 2012

Вместо использования CDynLinkLibrary используйте LoadLibraryEx для загрузки DLL и вызовите AfxSetResourceHandle, чтобы начать использовать ресурсы из этой DLL.

...