Мне достались исходники небольшого проекта из нескольких файлов. При открытии его в visual studio еще до начала компиляции в редакторе кода в каждом файле подчеркивается строка
#include "stdafx.h"
Пишет:
cannot open source file "stdafx.h"
Сами файлы stdafx.h и stdafx.cpp присутствуют в директории проекта. 1. Как решить проблему? 2. Может ли эта проблема возникать из-за того, например, что проект был сделал в одной версии vs, а я открываю его в другой? Если да, как узнать исходную версию студии? Доступа к разработчикам проекта у меня нету. Спасибо.
Скорее всего, в проект не включены stdafx.h и возможно, stdafx.cpp.
Добавьте stdafx.h и stdafx.cpp в проект. Выберите Project / Add Existing Item... и добавьте.
Не может.
Если да, как узнать исходную версию студии?
Из исходного (неконвертированного) файла проекта. В VS 6.0, к примеру, это проект.dsp. В VS2008 это проект.vcproj, В VS2017 это проект.vcxproj.
UPD Ответ на вопрос в комментариях:
если же я создаю в директории проекта папку dir и помещаю туда файлы sec.cpp и sec.h. то строка #include "stdafx.h" в этих файлах уже подчеркивается. как быть?
Нужно указать относительный путь к stdafx.h, то есть #include "..\stdafx.h".
Даже в достаточно большом проекте нет необходимости в подкаталогах. Реально они нужны в достаточно редких случаях, например, отделить файлы сторонних производителей. Для логического разбиения надо использовать подкаталоги проекта, а не файловые. VS стандартно создает Include/Source/Resource, но вам же никто не запрещает создать вместо них свои.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости