如何避免预编译头文件

时间:2011-08-31 18:32:50

标签: c++ visual-studio visual-studio-2010

我正在尝试用C ++编译一个简单的VS程序作为类的赋值。我们只包含<iostream>并且我一直收到此错误:

  

1&gt; 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.我真的很想开始一个空项目,而不是安装所有这些预定义的文件,我认为它会让它变得更容易,但我在创建项目时从未得到过这个选项。有人有什么建议吗?

5 个答案:

答案 0 :(得分:85)

您始终可以在项目设置中禁用预编译标头的使用。

VS 2010的说明(对于其他版本的VS应该类似):

  

选择您的项目,使用“项目 - &gt;属性”菜单并转到“配置属性 - > C / C ++ - &gt;预编译标题”部分,然后将“预编译标题”设置更改为“不使用”预编译标题“选项。


如果您只是尝试为简单的C ++命令行程序(例如在介绍性C ++编程类中开发的程序)设置最小的Visual Studio项目,则可以创建empty C++ project

答案 1 :(得分:9)

您可以通过从Visual C ++项目的“常规”组中选择“空项目”来创建一个空项目(也许该项目模板不包含在Express中?)。

要解决您已有项目中的问题,请打开项目属性并导航至:

Configuration Properties | C/C++ | Precompiled Headers

并为“预编译标题”选项选择“不使用预编译标题”。

答案 2 :(得分:5)

.cpp文件配置为使用预编译头,因此必须首先包含它(在iostream之前)。对于Visual Studio,它的名称通常是“stdafx.h”。

如果项目中没有stdafx *文件,则需要转到此文件的选项并将其设置为“不使用预编译头”。

答案 3 :(得分:0)

尝试在#include "stdafx.h"

之前添加#include "iostream"

答案 4 :(得分:-1)

右键单击项目解决方案

属性->配置属性-> C / C ++->预编译头

  1. 单击“预编译头”,将其更改为“不使用预编译头”。

  2. 在项目构建结束时清除EPF错误的“预编译头文件”中的“ pch.h” /“ stdafx.h”字段。

  3. 然后,您可以随时删除项目中的pch。 / stdafx。文件。