VS2019中创建MFC报错

VS2019中创建MFC提示错误代码

在这里插入图片描述

原因:

安装路径中没有afxrec.h文件 (我是安装在C盘的所以使用下面地址)

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\VS\include

使用Everything进行查找afxres.h文件,
如果没有everything的,可以到官网下载。
官网地址:
https://www.voidtools.com/zh-cn/

找到afxrec.h文件并复制到安装路径中,那么就可新建MFC应用了!
至此即可正常使用!
在这里插入图片描述

### MFC 编程中的常见错误及解决方案 #### 错误一:链接器错误 LNK2019 和 LNK2001 这些错误通常表示未解析的外部符号。这可能是由于缺少库文件或函数声明不匹配引起的。 ```cpp // 解决方案:确保正确配置项目属性并包含必要的头文件和库文件 #pragma comment(lib, "mfcsample.lib") // 添加所需的静态库 #include "stdafx.h" ``` 当遇到此类问题时,建议仔细检查项目的依赖项设置以及源代码中是否存在拼写错误[^1]。 #### 错误二:运行时异常 C++ 异常处理失败 如果程序抛出了未经捕获的异常,则可能导致应用程序崩溃。为了防止这种情况发生,在编写代码时应始终考虑潜在的风险点,并采取适当措施加以防范。 ```cpp try { // 可能引发异常的操作 } catch (CException* e) { e->ReportError(); e->Delete(); } ``` 通过这种方式可以有效减少因意外情况而导致的应用终止风险。 #### 错误三:资源管理不当造成内存泄漏 动态分配的对象如果没有被及时释放将会占用过多系统资源直至耗尽为止。因此需要遵循良好的编程习惯——即创建对象之后务必记得销毁它。 ```cpp CString str; str.AllocSysString(); // 使用完毕后要调用Release() ... str.ReleaseBuffer(); ``` 此外还可以借助智能指针类自动完成这一过程从而降低人为失误的概率。 #### 错误四:DLL 导入导出定义缺失 有时会因为忘记指定 `__declspec(dllexport)` 或者 `__declspec(dllimport)` 而使得编译无法正常工作。此时应该确认模块定义(.def) 文件里已经包含了所有公开接口名称列表;或者是直接在实现处加上相应的修饰符。 ```cpp #ifdef EXPORTING_DLL #define DLL_API __declspec(dllexport) #else #define DLL_API __declspec(dllimport) #endif class DLL_API MyClass { ... }; ``` 这样做的好处是可以让不同平台下的构建更加灵活方便[^2]。 #### 错误五:MFC 应用初始化失败 启动阶段发生的任何致命性故障都会阻止整个进程继续执行下去。针对这类情形一般可以从日志记录入手排查原因所在,比如查看是否有非法参数传入、环境变量配置不对等问题存在。 ```cpp if (!AfxWinInit(hInstance, NULL, ::GetCommandLine(), nCmdShow)) { AfxMessageBox(_T("Call to AfxWinInit failed")); return FALSE; } ``` 以上就是一些常见的MFC开发过程中可能会碰到的技术难题及其对应的应对策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值