MFC程序编译时VS2008提示无法打开包含文件<afxcontrolbars.h>

这个头文件包含在“stdafx.h”中
造成这个问题的主要原因是这个工程原来可能是在打了SP1补丁的VS2008下创建的,SP1是微软08年发布的一个补丁,用于改善VS的一些特性。可能是SP1后加入了这个头文件,用于提供对功能区和控制条的MFC支持
#include <afxcontrolbars.h> // MFC support for ribbons and control bars
一种解决方法就是安装SP1以提供这些支持,但是由于安装SP1耗时费力还占用了大量硬盘空间所以不是一个很好的办法,何况这些新特性支持我们通常也用不上。
另一个取巧的解决方法是在stdafx.h中将这行代码注释掉,然后在它的后面加上
#define CWinAppEx CWinApp
如:
//#include <afxcontrolbars.h> // MFC support for ribbons and control bars
#define CWinAppEx CWinApp
由于SP1后,为了提供更多的功能支持,将CWinApp升级为CWinAppEx。个人认为那个头文件可能提供了这些支持,所以我们将其重新定义为CWinApp避免注释那个头文件后可能产生的连带问题。同样这样做的另一个好处是可以大大的减小我们生成的EXE文件的尺寸。原因是VS2008 SP1补丁将CWinApp升级为CWinAppEx,增加了一些功能支持,所以最终生成的文件会变大。而一般一个小程序根本不需要这些额外的功能特性,所以将它替换回来也会降低最终生成文件的大小提高执行效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值