首先,在文件中加入如下头文件语句:
#ifndef VC_EXTRALEAN
#define VC_EXTRALEAN// 从 Windows 头中排除极少使用的资料
#endif
#include <afx.h>
#include <afxwin.h>// MFC 核心组件和标准组件
#include <afxext.h>// MFC 扩展
上面这段代码可以放在预编译头文件stdafx.h中,位置自己可定
然后在_tWinMain的开始加入
if (!AfxWinInit(hInstance, NULL, lpCmdLine, 0))
{
MessageBox(NULL,_T("MFC init error!"),_T("Error!"),MB_OK)
return 0
}
然后在菜单中依次选择"项目->属性->配置属性->常规->MFC的使用"中选择"在共享DLL中使用MFC";
然后再在菜单中依次选择"项目->属性->配置属性->链接器->常规->附加库目录"中加入"kernel32.lib user32.lib gdi32.lib",中间以空格隔开;
如果编译时出现下面错误:
fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
那么我们在预编译头文件stdafx.h中将基答"#include <windows.h>"删掉或者注释掉即可.
至此一切OK,然后你就可以用MFC类了。
说明:虽然我们可以建立MFC应用程序然后隐藏窗口来解决这个问题,但是这样生成的EXE文件的大小要比前面两者都大,因为它加载了很多我们用不着的资源,从而造成了浪费。
#include "stdafx.h" //引用头文件#include "搭建学习环境.h"//引用头文件
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__
#endif //前面的,定义变量
////////////////////////////////////////芹唯拿///////////////////////////////////////注释
// The one and only application object //注释
CWinApp theApp
using namespace std //引用命名空间
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) //定义主函数
{ //主函数开始
int nRetCode = 0 //嫌搭山禅定义变量
// initialize MFC and print and error on failure //注释
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) //if语句,判断以下///大括号内语句是否执行
{//if语句开始
// TODO: change error code to suit your needs //注释
cerr <<_T("Fatal Error: MFC initialization failed") <<endl //输出
nRetCode = 1 //修改变量值
} //if语句结束
else//if的子模块else,如果前面的if不执行,则执行该模块
{//else开始
// TODO: code your application's behavior here.//注释
CString strHello//定义变量
strHello.LoadString(IDS_HELLO) //调用CString的构造函数.
cout <<(LPCTSTR)strHello <<endl//输出
}//else语句结束
return nRetCode //函数返回值
} //主函数结束
//程序结束
望采纳!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)