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

У меня есть два проекта A и B. В проекте A я создал исходный файл с именем Logger.cpp, где у меня есть #include stdafx.h во включаемой части. 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 создается при создании нового проекта.

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

Я что-то упустил здесь?


person Soumya1008    schedule 27.11.2020    source источник


Ответы (1)


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

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

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

person Barrnet Chou    schedule 02.12.2020