2017-02-03 11 views
0

Я только начал изучать C++ в последнее время, и я использую visual studio 2015. Но мне нужно вручную удалить #include stdafx.h в моем файле cpp, прежде чем загружать его на тестовый сервер для моего класса или он просто отправляет обратно такую ​​ошибку: the error from test serverВы могли бы удалить stdafx.h в visual studio при кодировании в C++?

Хотелось бы узнать, почему эта проблема происходит. Я предполагаю, что эта вещь исключительно для ОС Windows и x86? Любая помощь будет оценена по достоинству. : D

+1

просто включите файл ** stdafx.h ** с вашей загрузкой. –

+0

Что это за сервер? Я считаю, stdafx.h - это ОС, специфичный для окон? – mreff555

ответ

1

Вам необходимо загрузить все ваших источников. stdafx.h не особо в этом отношении. Конечно, если ваш курс ограничивает вас одной загрузкой .cpp, то вы не можете использовать stdafx.h для этого курса

0

stdafx.h - имя по умолчанию для предварительно скомпилированного заголовка для проекта Visual Studio. Однако вы можете иметь файл с именем this в других средах. Обратите внимание, что компилятор Visual Studio обрабатывает этот заголовок несколько иначе, чем другие заголовки, если он указан как предварительно скомпилированный заголовок на страницах свойств вашего проекта (C/C++ -> Precompiled Headers - см. here для получения дополнительной информации). Например, несколько включений этого файла с различными предпроцессорными определениями будут игнорироваться, когда это предварительно скомпилированный заголовок (что не так уж и просто, но что-то нужно знать).

Если вы хотите упростить переносимость в среду, отличную от Visual Studio, обычно проще отключить предварительно скомпилированные заголовки в проекте Visual Studio. Если вы продолжаете использовать файл stdafx.h в своем коде, вам, очевидно, нужно будет загрузить его на свой тестовый сервер компиляции и, возможно, потребуется изменить его и/или его включение в ваш код.

+0

Что касается других компиляторов C++, ** stdafx.h ** - это еще один заголовочный файл. –

+0

Хотя stdafx.h является «просто другим заголовком», как я уже сказал в ответе, не обязательно верно, что настройка проекта Visual Studio с помощью stdafx.h, поскольку предварительно скомпилированный заголовок будет скомпилирован в другой системе сборки, поскольку способ VS обрабатывает PCH немного отличается от других заголовков. – MuertoExcobito

+0

, если вы скопируете ** stdafx.h ** в другую систему сборки, она * будет * компилировать - при условии, что нет каких-либо специфичных для платформы материалов, но это то же самое для любого другого файла. –