【Visual C++】关于无法打开包括文件:“StdAfx.h”或者意外结尾的错误解决方案

在VS2013上写了一个小程序,输入整型数字,保存到文本文档中。

代码如下:

①Outputtutxt.h的代码

#ifndef OUTPUTTUTXT_H
#define OUTPUTTUTXT_H
#include <iostream>
#include <fstream>
#include <stdafx.h>
#endif

②Outputtutxt.cpp的代码

#include "Outputtotxt.h"

using namespace std;
int main()
{
	int a[5];				  //100个元素的整型数组。
	int i;
	for (i = 0; i < 5; i++)   //输入元素。
		cin >> a[i];

	ofstream f("out.txt");    //打开out.txt文件。
	for (i = 0; i < 5; i++)   //写入到文件。
		f << a[i] << endl;    //写入每个元素,每个元素单独一行。
	return 0;
}

但是运行的时候出错,出的错误关于stdafx.h。

现总结预编译头文件#include<stdafx.h>这两者的关系。下面这段文字为网上一篇博客的部分内容,我使用其中第四个方法解决了自己的问题。

这里我们采用vs2010讲解,其他版本其实操作方案也差不多。

1、如果在Visual C++工程的.cpp文件中包含了代码#include<stdafx.h>,则工程就需要将属性设置为:“使用预编译头”,具体方案是对“资源管理器”里的工程右击->【属性】->【配置属性】->【C/C++】->【预编译头】,然后【创建/使用预编译头】选择“使用”

具体操作可以看我截的图:

2、如果.cpp文件里包含了stdafx.h文件,设置为“不使用预编译头”,可能会编译就出现错误的,

fatal error C1083: 无法打开包括文件:“StdAfx.h”: No such file or directory,

所以设置为“创建预编译头”,或者设置为“使用预编译头”。

3、如果出现下面错误: fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “stdafx.h””?

则表示没有包含stdafx.h文件,设置为”不使用预编译头“即可。

4、因为最近做了matlab与vc混编,所以,生成了.c文件,.c文件是不能使用预编译头的,如果让这样的文件“使用预编译头”,会出现下面错误的:

“Debug\SMMS.pch”预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)

所以,在.c文件右键->【属性】->"不使用预编译头“。注意只是此文件的属性。

转载于:https://my.oschina.net/wangsifangyuan/blog/1054295

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值