改造Visual C++ 2008 Express
2011-07-15 10:59
190 查看
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版本。
配置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版本。
相关文章推荐
- 用 Visual C++ 2008 Express 编译你的第一个 wxWidgets 程序
- 用 Visual C++ 2008 Express 编译你的第一个 wxWidgets 程序
- Google V8 编译方法(visual c++ 2008 express)(学习+原创)
- 用 Visual C++ 2008 Express 编译你的第一个 wxWidgets 程序
- 修改sqlserver 2008 express为混合认证模式
- Visual C++ 2008入门经典 第二十一章更新数据源
- C++ Plus 使用 Visual C++ 2008 功能包加强 Windows 应用程序
- 2012年12月31日 Visual C++ 2008入门经典 第二十三章 在Windows Forms应用程序中访问数据源
- Visual C++ 2008的下载和安装
- VS2008自带的SQL Server 2008 Express设置
- 在windows7中无法安装 SQL Server 2008 Management Studio Express
- [WebMatrix] 如何将SQL Compact 4.0 移转至SQL Server 2008 Express
- 千呼万唤始出来的 Visual C++ 2008 Feature Pack 介绍
- 【转】Visual C++ 2008 sp1的新功能
- sql server 2008 r2 express 精简版与企业版的区别
- VS2010 + Sql Server Express 2008 R2 如何安装
- 使用 Visual C++ 2008 功能包加强 Windows 应用程序
- 机器翻译的效果测试:Visual Studio 2008在Visual C++中的性能改进
- 使用 Visual C++ 2008 功能包加强 Windows 应用程序
- 最详细的Visual C++ 2008 Express Edition使用方法(图文)