Восстановить предварительно скомпилированный заголовок

У меня есть консольный проект C++, который я включил в настройку предварительно скомпилированного заголовка. Я случайно удалил файл из своего проекта и теперь не могу скомпилировать, потому что получаю error C1083: Cannot open precompiled header file: 'Debug\Project.pch': No such file or directory. Нужно ли заново создавать проект и импортировать в него весь код? Я попытался воссоздать файл с именем «stdafx.cpp», содержащий только #include "stdafx.h", но это не сработало. Как это исправить?


person einsteinsci    schedule 06.05.2014    source источник
comment
Написание кода без использования системы контроля версий — действительно плохая идея. Эти несчастные случаи случаются, контроль версий — ваш запасной вариант.   -  person Hans Passant    schedule 06.05.2014
comment
Кажется второстепенным, вы бы не проверили сгенерированные файлы для конкретной машины (например, предварительно скомпилированные заголовки) в систему управления версиями.   -  person nobody    schedule 06.05.2014
comment
@HansPassant Это всего лишь небольшой проект; Я использую Git для большинства своих проектов.   -  person einsteinsci    schedule 06.05.2014


Ответы (1)


Щелкните правой кнопкой мыши файл stdafx.cpp в обозревателе решений и выберите «Свойства». В разделе C/C++ > Предварительно скомпилированные заголовки установите для параметра «Предварительно скомпилированный заголовок» значение «Создать (/Yc)». Вам также может понадобиться установить «Предкомпилированный файл заголовка» на «stdafx.h» и «Предварительно скомпилированный выходной файл заголовка» на любой смысл («$(IntDir)$(TargetName).pch» в большинстве случаев).

Если нет других проблем, это должно сделать это.

person dlf    schedule 06.05.2014
comment
Спасибо! Работал отлично! - person einsteinsci; 06.05.2014
comment
Пожалуйста. В свое время я потратил довольно много времени, пытаясь решить ту же проблему, и рад избавить кого-то еще от этой проблемы. - person dlf; 06.05.2014