#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».
Что я пробовал:
- Я скопировал файл stdafx.h из проекта A в проект B, что приводит к конфликтам и не позволяет мне открывать какие-либо заголовочные файлы, включенные в файл stdafx.h.
- Я полностью удалил проект 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
.