Ответ 1
Попробуйте включить "Показать включает" в настройках проектов (C/С++ → Дополнительно). Это шоу дает вам представление о том, какие файлы заголовков включены и в каком порядке - вы должны иметь возможность отслеживать оттуда
Я получаю #error WINDOWS.H, который уже включен. Приложения MFC не должны #include windows.h Но я не знаю, как узнать, из-за какого файла это происходит.
Спасибо
Попробуйте включить "Показать включает" в настройках проектов (C/С++ → Дополнительно). Это шоу дает вам представление о том, какие файлы заголовков включены и в каком порядке - вы должны иметь возможность отслеживать оттуда
Измените порядок включения и включите afx < заголовки > перед другими
Во-первых, посмотрите, какая единица перевода (файл cpp) была скомпилирована при возникновении ошибки (см. журнал сборки).
Затем... вы можете проверить файлы заголовков, включенные в этот файл cpp, ища <windows.h>
.
Вы также можете выполнить поиск во всех файлах проекта, чтобы проверить, включен ли он в ваш код.
Если вы используете другие сторонние библиотеки, которые содержат заголовок Windows.h, вам может потребоваться изменить порядок включения этих файлов заголовков и заголовков MFC.
Вероятно, Windows.h
может быть включен в ваш файл stdafx.h
. Если да, тогда прокомментируйте Windows.h
, а затем проверьте, что ошибка может исчезнуть. Поскольку у меня была та же проблема, я разрешаю то же самое.