I ' Я потратил большую часть своего дня на то, чтобы выяснить, почему возникает эта ошибка, но она продолжает меня озадачивать.
Я создал консольное приложение на Visual C ++ и указал, что оно пустое. После помещения всего исходного кода в виртуальную папку и его компиляции произошла ошибка:
c: \ program files \ microsoft visual studio 10.0 \ vc \ atlmfc \ include \ afx.h (24): фатальная ошибка C1189: #error : Для построения приложения MFC с / MD [d] (версия DLL CRT) требуется версия совместно используемой библиотеки MFC. Пожалуйста, #define _AFXDLL или не используйте / MD [d]
c: \ program files \ microsoft visual studio 10.0 \ vc \ atlmfc \ include \ afx.h (24): фатальная ошибка C1189: #error: создание приложения MFC с / MD [d] (версия DLL CRT) требуется общая версия DLL MFC. Пожалуйста, #define _AFXDLL или не используйте / MD [d]
c: \ program files \ microsoft visual studio 10.0 \ vc \ atlmfc \ include \ afx.h (24): фатальная ошибка C1189: #error: Для сборки приложения MFC с / MD [d] (версия CRT dll) требуется общая версия DLL MFC. Пожалуйста, #define _AFXDLL или не используйте / MD [d]
Действительно странная ошибка, потому что я никогда не включал файлы MFC. Поэтому я исправил ситуацию, указав "/ MT" в настройках генерации кода.
Это работало хорошо ... пока я не решил включить "Windows.h", который вызвал эту ошибку:
c: \ program files \ microsoft visual studio 10.0 \ vc \ atlmfc \ include \ afxv_w32.h (16): фатальная ошибка C1189: #error: WINDOWS.H уже включен. Приложения MFC не должны включать #include windows.h
c: \ program files \ microsoft visual studio 10.0 \ vc \ atlmfc \ include \ afxv_w32.h (16): фатальная ошибка C1189: #error: WINDOWS.H уже включен. Приложения MFC не должны включать #include windows.h
Я перепробовал все, что мог придумать, включая воссоздание проекта с предварительно скомпилированными заголовками и без них, приложение Win32, а не консоль, и приложение WxWidget. Похоже, что все эти приложения пытаются включить MFC, хотя я никогда не уточнял. Может ли кто-нибудь пролить свет на эту проблему? Спасибо!