用VS2017创建控制台程序带MFC类库方法
1. File --> New --> Project
2. Windows桌面向导
3. 勾选MFC类库
4. 创建成功
解决项目编译出错
1. 项目创建成功后编译报错界面
原因分析:对比别人创建成功的项目,发现多了一个#include "framework.h"
解决方案:copy成功项目的framework.h头文件,并#include "framework.h",另外framework.h头文件中引用了targetver.h头文件,因此,将targetver.h头文件也copy过来
2. 编译成功后的界面
3. framework.h
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#pragma once #include "targetver.h" #include <stdio.h> #include <tchar.h> #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 部分 CString 构造函数将是显式的 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS // 移除对话框中的 MFC 控件支持 #ifndef VC_EXTRALEAN #define VC_EXTRALEAN // 从 Windows 头文件中排除极少使用的内容 #endif #include <afx.h> #include <afxwin.h> // MFC 核心组件和标准组件 #include <afxext.h> // MFC 扩展 #ifndef _AFX_NO_OLE_SUPPORT #include <afxdtctl.h> // MFC 对 Internet Explorer 4 公共控件的支持 #endif #ifndef _AFX_NO_AFXCMN_SUPPORT #include <afxcmn.h> // MFC 对 Windows 公共控件的支持 #endif // _AFX_NO_AFXCMN_SUPPORT #include <iostream>
4. targetver.h
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#pragma once // // 包含 SDKDDKVer.h 可定义可用的最高版本的 Windows 平台。 // 如果希望为之前的 Windows 平台构建应用程序,在包含 SDKDDKVer.h 之前请先包含 WinSDKVer.h 并 // 将 _WIN32_WINNT 宏设置为想要支持的平台。 #include <SDKDDKVer.h>
这样就不会编译出错了。