改造Visual C++ 2008 Express

Visual Studio确实很强大,但不是免费的,其实Express已经够用了,代码提示虽然没有装了VC助手的VS好,但尚可接受,另我非常喜欢的ViEmu插件在Express中不能用,这个可以通过配置键盘方案为emacs来弥补—— 2010.11.01:express里的emacs键绑定没这个XKeymacs好用!

Express没包含ATL和MFC,但现在最新版的WDK却已经支持到ATL71和MFC42了。其实写个简单的MFC程序MFC42已经足够,甚至不需要静态链接MFC,因为其它机子98以上就有mfc42.dll了,这样编译出来的程序将更小 。使用ATL71可能需要静态链接,因为其它机子上可能没有ATL71.DLL。但是好在虽然WTL使用了ATL但编译出来的程序并没有链接ATL库,所以配置下Express可以拿来写WTL程序。

配置WTL环境很简单的,可以参考codeproject上的文章。下面说说怎么使用WDK中的toolchain编译出只跟VC6一样的可执行程序。

WDK的bin目录中的cl.exe对C++的支持比VC6好多了,但是它编译出来的程序却只链接msvcrt.dll,有点奇怪但是程序并不能运行,据说这个msvcrt.dll是vista上的版本,那这就不奇怪了。正当我要放弃时发现了这个贴子,它里面的方法正好有用:《d大能不能给个VC2008链接msvcrt.dll的详细教程》http://tieba.baidu.com/f?kz=739007330

到此ATL+WTL+MFC环境都有了,而且生成的程序只需要链接msvcrt.dll和msvcp60.dll等——反正跟VC6生成的文件差不多的效果,但是对C++支持又比VC6好很多的(VC6编译string就比较吃力了,map就更甚了)。

主要是VC Directories的配置,对于msvcrt_win2000.obj,可以把它加入到D:\Program Files\Microsoft Visual Studio 9.0\VC\VCProjectDefaults\CoreWin.vsprops里,但是编译MFC程序时又要手动添加到link addtional lib中。

所需:WDK最新版,PSDK2003R2,WTL最新版本(sourceforge.net上的),配置见图:

bin目录,编译toolchain所需要的所有工具,清单工具mt.exe要用到PSDK2003里的——2010.11.01:再添加express的路径,某些MFC程序要用到bscmake.exe——(如果编译提示spawning什么的就是缺少那个工具,可以到相关目录搜索):

include目录,最好跟编译配套,所以使用WDK中的,PSDK提供了mfc的res:

lib目录,一些如psapi需要PSDK里的lib:

项目里设置C++ Code Generation(代码生成)为/MD,如果用了MFC则设置为shared mfc dll,如果生成的可执行文件提示无法定位msvcrt.dll上的函数的话,就添加msvcrt_win2000.obj到link的lib中。2010.11.01:一些MFC程序如果提示无法定位except_common4什么的需要手动加msvcrt_win2000.obj!

Release版本按上面弄基本上没什么问题,Debug可能需要更多设置,但我只关心Release版本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值