首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

vs2008简单的MFC程序报错

2012-11-08 
vs2008求助:简单的MFC程序报错有两个错误:1------ 已启动生成: 项目: ex05_1, 配置: Debug Win32 ------1

vs2008求助:简单的MFC程序报错
有两个错误:
1>------ 已启动生成: 项目: ex05_1, 配置: Debug Win32 ------
1>正在编译...
1>cl: 命令行 warning D9035 :“Wp64”选项已否决,并将在将来的版本中移除
1>ex05_1.cpp
1>c:\users\eric ye\documents\visual studio 2008\projects\ex05_1\ex05_1.cpp(2) : error C2006: “#include”: 应输入文件名,却找到“标识符”
1>c:\users\eric ye\documents\visual studio 2008\projects\ex05_1\ex05_1.cpp(2) : fatal error C1083: 无法打开包括文件:“”: No such file or directory
1>生成日志保存在“file://c:\Users\Eric Ye\Documents\Visual Studio 2008\Projects\ex05_1\Debug\BuildLog.htm”
1>ex05_1 - 2 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========


程序全文如下:
//ex05_1.cpp
#include _AFXDLL
#include "afxwin.h"
class CMyWnd: public CFramWnd
{
public:
CMyWnd(LPCTSTR Title)
{
Create(0,Title);
}
};
class CMyApp: public CWinApp
{
public:
virtual BOOL InitInstance();
};
BOOL CMyApp::InitInstance(void)
{
LPCTSTR Title="一个简单的MFC程序";
m_pMainWnd=new CMyWnd(Title);
m_pMainWnd->ShowWindow(m_nCmdShow);
return TRUE;
};
CMyApp MyApp;

[解决办法]
既然你是MFC程序,应该多使用向导先生成一个工程框架,手写所有代码不是MFC该做得事情
[解决办法]
_AFXDLL这个应该是宏,怎么能#include呢。这不是你自己加上去的吧
MFC程序用向导生成比较好,当然也可以在控制台中用MFC的库,#include <afxwin.h>。
[解决办法]
刚起,还没学到MFC帮顶了
[解决办法]
#include _AFXDLL
这些东西应该不用你写,如果是MFC的话,直接选择MFC类的工程,向导会为你把这些东西都写好,而且把相应的东西都设置好,所有你这个程序是手写的?如果搞MFC的话,框架还是让向导生成的好,你要实现的功能再自己加代码,因为微软把WIN32的消息呀什么的已经封装好,你看不见具体的代码的
[解决办法]
MFC的框架用向导生成吧,不要用手写了
[解决办法]
生成文件上都说了,有两个错
首先你用的#include _AFXDLL;编译器会把_AFXDLL误认为一个头文件,但是他找不到
所以报错:1>c:\users\eric ye\documents\visual studio 2008\projects\ex05_1\ex05_1.cpp(2) : error C2006: “#include”: 应输入文件名,却找到“标识符”
第二个错也是#include _AFXDLL引起的,说无法打开包括文件(即_AFXDLL)

事实上你可能是照书写错了,_AFXDLL最有可能是一个宏 #define _AFXDLL 而且看你的代码,叶 没用到,不如删掉...
[解决办法]
重新使用向导生成一个吧 

[解决办法]

探讨
引用:

事实上你可能是照书写错了,_AFXDLL最有可能是一个宏 #define _AFXDLL 而且看你的代码,叶 没用到,不如删掉...

我已经复核过不下五遍了,没有抄错,要么就是《C++程序设计教程——基于visual studio 2008》(刘冰 张林 蒋贵全,机械工业出版社)这本书误人子弟!我是按照它的步骤一字不差地……

[解决办法]
可能书上的代码是从某个工程中拷贝出来的 在它本身工程文件中已经定义过了 但是 你本地没有
也有可能是这种情况...

还有一种情况也编译得过,那就是:这个地方你所需要的库文件已经被定义成为了 _AFXDLL

比如: #define _AFXDLL "stdafx.h"

#include _AFXDLL
[解决办法]
#include _AFXDLL 这里应该是宏定义吧。

向这些代码都是自动生成的
[解决办法]
这个“#include <iostream>”该加上。#include "afxwin.h"改成#include <afxwin.h>

热点排行