如何使用VS2010来进行基于MFC4.2的开发

VS2010在今天已经正式发布。其增强特性大家有目共睹。但是随之而来的,是体积膨胀到5M多的运行时库(mfc100.dll+msvcrt100.dll+msvcp100.dll),相比于VC6的MFC42,那真是臃肿到难以忍受了。

 

今天我突发奇想,能不能借助VS2010,来进行基于MFC42的开发?能不能就把VS2010当成VC6来用???

 

经过半天的实验,终于实现了这一设想。

 

繁琐的尝试过程和理由我就不说了,我只在这里简单说一下实现步骤。

 

1、还是要用VC6的MFC向导生成对应的工程,尤其是MFC工程,其他Win32EXE、DLL之类的倒也应该不要紧。

2、关闭VC6,用VS2010打开刚才生成的工程(DSW文件)。

3、完成工程升级向导

4、在“项目属性”的“VC++ 目录设置”里面,把除了第一项之外的所有路径都清空。然后将include和Lib两个路径,设置的和你的VC6里面一样。

5、再将“C/C++ —> 语言”中的选项“将wchar_t看作内置数据类型”设置为"NO"。

6、从vs2010的安装目录中的“VC/Lib”中,把libcmt.lib和libcmtd.lib复制到你的项目文件夹下

7、在当前项目的stdafx.cpp中,添加如下几句:

#ifdef _DEBUG

#pragma comment(lib,"libcmt.lib")

#else

#pragma comment(lib,"libcmtd.lib")

#endif

8、编译项目

 

验证方法:用VC6自带的Depends.exe来查看所生成的EXE所引入的库,可以看到只引用了MFC42u.dll,而没有MFC100u.dll。至此,实验成功!

 

本人是以UNICODE的MFC工程为例的,并且没有用到VC所自带的STL和ATL。非UNICODE工程等其他情况也应该类似。因为时间关系,我也没有再多做实验。将来有机会了补上。

 

*****原创文章,转载请注明来源,谢谢*****

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值