У меня есть консольное приложение win32, который использует некоторые функции MFC (CObject, CString и т.д.), он компилируется и работает без проблем в режиме отладки, используя следующие конфиги:Win32 консольного приложения и MFC библиотеки несовместимы во время выпуска компиляции
Configuration: Active(Debug) Platform: Active(Win32)
General->Use of MFC->Use MFC in a Static Library
C/C++->Code Generation->Runtime Library:Multi-threaded Debug DLL(/MDd)
Однако, когда я пытался скомпилировать для Release режим (по-прежнему платформы Win32), используя следующие конфиги, он начинает иметь проблемы:
Configuration: Active(**Release**) Platform: Active(Win32)
General->Use of MFC->Use MFC in a Static Library
C/C++->Code Generation->Runtime Library: **Multi-threaded (/MT)**
проблема с преобразованием между «туалет МФЦ har_t * 'to' char * 'и строковые литералы в' LPCTSTR 'и т. д. Но такая проблема не возникает, когда я компилирую ее для' Debug '!!!
Я знаю, что могу использовать такие вещи, как макрос _T и т. Д., Но их так много, и они явно работают в режиме отладки, поэтому я действительно надеюсь, что это просто некоторые простые (-ые) символы (-и), которые я изменяю в свойствах чтобы он работал для компиляции режима «Release». Помогите?
'change 'Использовать MFC' в статическом или динамическом режиме, оба с ошибками' Failed with ** what ** errors? При работе с диалоговым окном «Свойства» убедитесь, что вы изменяете правильную конфигурацию - обратите внимание на раскрывающийся список «Конфигурация» в левом верхнем углу. –
Существует две настройки: «Общие»> «Использование MFC» и «C/C++> Генерация кода> Библиотека времени выполнения». Оба должны согласиться - либо с использованием библиотеки DLL (aka shared library), либо с использованием статической библиотеки. Для настройки «Runtime Library» вам нужен вкус, который «отлаживается» в нем для конфигурации Debug, и аромат без «отладки» для конфигурации Release. –
В свойствах проекта для конфигурации выпуска установите C/C++ -> Generation Generation-> Runtime Library для Multi Threaded (/ MT) –