E1696 не удается открыть исходный файл «stdafx.h» во время компиляции

#c #header #visual-studio-2019 #precompiled-headers #stdafx.h

#c #заголовок #visual-studio-2019 #предварительно скомпилированные заголовки #stdafx.h

Вопрос:

У меня есть два проекта A и B. В проекте A я создал исходный файл с именем Logger.cpp где у меня есть #include «stdafx.h» в части includes. Файл stdafx.h присутствует в проекте A. В свойствах проекта A у меня есть расположения заголовочных файлов проекта B в свойстве «Дополнительные каталоги включения». Когда я пытаюсь скомпилировать решение в Visual Studio 2013, оно успешно компилируется, но когда я пытаюсь перенести свое решение в Visual Studio 2019 и скомпилировать все решение или только проект A, я получаю сообщение об ошибке E1696 не удается открыть исходный файл «stdafx.h».

Что я пробовал:

  1. Я скопировал файл stdafx.h из проекта A в проект B, что приводит к конфликтам и не позволяет мне открывать какие-либо заголовочные файлы, включенные в файл stdafx.h.
  2. Я полностью удалил проект A, а затем создал новый проект C , поскольку файл stdafx.h создается при создании нового проекта.

Оба вышеуказанных подхода не решают проблему.

Я что-то здесь упускаю?

Ответ №1:

Согласно документам Microsoft, при создании нового проекта в Visual Studio в проект добавляется предварительно скомпилированный заголовочный файл с именем pch.h. (В Visual Studio 2017 и более ранних версиях файл назывался stdafx.h.)

Итак, вы могли бы установить stdafx.h Properties->C/C ->Precompiled Header->Precompiled Header file .

введите описание изображения здесь