Мне достались исходники небольшого проекта из нескольких файлов. При открытии его в 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
, но вам же никто не запрещает создать вместо них свои.
Виртуальный выделенный сервер (VDS) становится отличным выбором
У меня есть строка - html код, который нужно распарсить с помощью регулярных выражений regexМне нужно записать в вектор std::vector все URL'ы на странице,...
Учусь писать расширения для Python 3 на C++
Пробую унести из декларации класса Template в реализацию, все попытки приводят к ругани компилятора, не совсем понимаю как работает в этом случае...