| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 65878 人关注过本帖
标题:VS无法打开源文件stdafx.h如何解决
只看楼主 加入收藏
小学一班
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-6-9
结帖率:0
收藏
 问题点数:0 回复次数:9 
VS无法打开源文件stdafx.h如何解决
程序代码:
#include "stdafx.h"
#include"stdio.h"
int APIENTRY WinMain(HINSTANCE hinstance,HINSTANCE hprevinstanc,LPSTR lpCmdLine,int nCmdshow)
{
    MassageBox(NULL,TEXT("世界你好"),TEXT("问好"),MB_OK);
    return 0;
}
VS2012编译
提示无法打开源文件stdafx.h
如何决解谢谢
搜索更多相关主题的帖子: 源文件 如何 
2016-09-19 18:35
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
#include <windows.h>
然后把MassageBox改为MessageBox
2016-09-19 20:14
Alien_Lee
Rank: 8Rank: 8
来 自:Linux帝国
等 级:蝙蝠侠
威 望:7
帖 子:149
专家分:739
注 册:2016-7-19
收藏
得分:0 
回复 2楼 ehszt
这个....

  DEBUG的过程就是进步的过程,每一个小错误都是大问题!...
2016-09-19 21:53
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
#include "stdafx.h"

通常用双引号标示的头文件会是用户自定义的(通常,不是必然)。

楼主说编译器提示无法打开源文件“stdafx.h”。实际上就是编译器没找到这个头文件。遇到这种错误编译器只编译到那一行就直接停止运行报错了,所以后面的messageBox编译器还没来得及处理到。

主要想提示一下楼主,检查一下“stdafx.h”这个头文件你到底有没有。另外百度上提示说#include"stdafx.h"必须放在第一行,否则编译器也会报错
所有的MFC实现文件第一条语句都是:#include "stdafx.h"。在它前面的所有代码将被忽略,所以其他的头文件应该在这一行后面被包含。否则,你将会得到“No such file or directory”这样让你百思不得其解的错误提示


φ(゜▽゜*)♪
2016-09-19 22:03
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
我怎么不要这个头也可以编译?#include "stdafx.h"
2016-09-19 22:16
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
回复 5楼 ehszt
图片附件: 游客没有浏览图片的权限,请 登录注册

我猜你用的编译器不是MFC。所以不用这个头文件也正常啊。

我用QT include的头文件还都带Q的呢。scanf_s还只有VS支持呢。

编译器和编译器,难免有区别

φ(゜▽゜*)♪
2016-09-19 22:21
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
以下是引用书生牛犊在2016-9-19 22:21:07的发言:


我猜你用的编译器不是MFC。所以不用这个头文件也正常啊。

我用QT include的头文件还都带Q的呢。scanf_s还只有VS支持呢。

编译器和编译器,难免有区别

我用vs2015编译的,选的常规-〉空项目。这些基本的东西用空项目就可以了呀。
2016-09-19 22:26
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
回复 7楼 ehszt
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-09-19 22:32
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
回复 7楼 ehszt
我用QT,要MessageBox就得
#include<QMessageBox>

大家环境不同。

像是楼主说的include".h"的时候报的错。我个人认为是因为他的系统库里面缺少这个头文件导致的。毕竟他用的VS不见得就是完整的、新的。
前段时间我用DEV C++,写C++程序for each循环的时候想用auto变量,编译器提示说不能用。然后上来问了才知道跟头文件有关系。后来几经波折去官网下载了最新的编译器就好了。(我那DEV C++也是今年从人家官网下载的,但是它居然连C++11的标准都不支持。 )

如果是头文件的问题。。打算下载一个新的,参见
https://bbs.bccn.net/thread-468612-1-1.html



[此贴子已经被作者于2016-9-19 22:36编辑过]


φ(゜▽゜*)♪
2016-09-19 22:33
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
把#include "stdafx.h"
#include"stdio.h"
这两行去掉,换成#include <windows.h>呢?楼主试一下,顺便把MassageBox改一下,第二个字母是e不是a。
2016-09-19 22:42
快速回复:VS无法打开源文件stdafx.h如何解决
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031844 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved