Как избежать предварительно скомпилированных заголовков - PullRequest
63 голосов
/ 31 августа 2011

Я пытаюсь скомпилировать простую программу VS на C ++ как задание для класса.Мы включаем только <iostream>, и я получаю эту ошибку:

1> Assignment.cpp (15): фатальная ошибка C1010: неожиданный конец файла при поиске предварительно скомпилированного заголовка.Вы забыли добавить '#include "StdAfx.h"' к своему источнику?

Моя программа буквально такая маленькая ...

#include <iostream>
using namespace std;
int main()
{
    unsigned int day = 30;

    cout << "My Name is John Doe" << endl;
    cout << "My Major is CS" << endl;
    cout << "I was born on day " << day << endl;
    return 0;
}

Я только что установил Visual Studio Express 2010. Действительно, я быМне нравится запускать пустой проект вместо установки со всеми этими предопределенными файлами, я думаю, это сильно облегчит задачу, но у меня никогда не было такой возможности при создании проекта.У кого-нибудь есть предложения?

Ответы [ 4 ]

93 голосов
/ 31 августа 2011

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

Инструкции для VS 2010 (должны быть аналогичными для других версий VS):

Выбратьсвоего проекта, используйте меню «Проект -> Свойства» и перейдите в раздел «Свойства конфигурации -> C / C ++ -> предварительно скомпилированные заголовки», затем измените параметр «Предварительно скомпилированные заголовки» на «Не использовать предварительно скомпилированные заголовки».


Если вы пытаетесь настроить минимальный проект Visual Studio только для простых программ командной строки C ++ (например, разработанных во вводных классах программирования C ++), вы можете создать пустой C ++проект .

9 голосов
/ 31 августа 2011

Вы можете создать пустой проект, выбрав «Пустой проект» из группы «Общие» проектов Visual C ++ (может быть, этот шаблон проекта не включен в Express?).

Чтобы устранить проблемув проекте, который у вас уже есть, откройте свойства проекта и перейдите к:

Configuration Properties | C/C++ | Precompiled Headers

и выберите «Не использовать предварительно скомпилированные заголовки» для параметра «Предварительно скомпилированный заголовок».

5 голосов
/ 31 августа 2011

Файл .cpp настроен на использование предварительно скомпилированного заголовка, поэтому он должен быть включен первым (перед iostream).Для Visual Studio это обычно имя «stdafx.h».

Если в вашем проекте нет файлов stdafx *, вам нужно перейти к настройкам этого файла и установить его как «Не использовать предварительно скомпилированные заголовки».

0 голосов
/ 31 августа 2011

попробуйте добавить #include "stdafx.h" до #include "iostream"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...