Я провел большую часть своего дня, пытаясь выяснить, почему происходит эта ошибка, но она продолжает меня загадывать.
Я создал консольное приложение в Visual C ++ и указал его пустым. После помещения всего моего исходного кода в виртуальную папку и его компиляции произошла ошибка:
c: \ program files \ microsoft visual studio 10.0 \ vc \ atlmfc \ include \ afx.h (24): фатальная ошибка C1189: #error: Создание приложения MFC с / MD [d] (версия CRT dll) требует MFC расшарил версию dll. Пожалуйста #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) требует MFC расшарил версию dll. Пожалуйста #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) требует MFC расшарил версию dll. Пожалуйста #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, хотя я никогда не указывал. Кто-нибудь может пролить свет на эту проблему? Спасибо!