这其实是一个科普贴!关于VS开发过程中常见的问题
最近在Win7上用VS2012开发项目,结果遇到了好多奇奇怪怪的问题,折腾了好久才算完美解决了。不知道遇到这些问题的人多不多,反正贴出来科普一下~1. 关于运行时库
在开发WIN32程序(non-MFC)时,VS的默认设置是采用动态链接DLL运行时库。这会导致生成的可执行文件放到没有安装VS或VS Redistributable Package的电脑上无法运行,显示"缺少xxxxx.dll"之类的情况。
网上的解决办法大多是说安装Redistributable Package之类的,但这对于小程序是不现实的,用户基本不可能大费周章去下个莫名其妙的玩意儿安装嘛。
其实解决办法非常简单:在"项目属性"->"配置属性"->"C/C++"->"代码生成"一项(具体位置可能和VS版本有关大家找一下就好啦),将"运行库"设置为/MT(默认为/MD),即静态链接。
这样程序不管在什么电脑上都能完美运行啦。
2. 关于VS2012开发的项目与XP不兼容
VS2012开发出来的程序在Vista以上的系统是可以正常运行的,但在XP上就会报错,显示"XXXX不是有效的Win32程序"。因为我是在64位WIN7上开发的,所以一开始以为是这个原因。但在项目属性里将Target Machine设为x86后,依然报错。
其实这个错误信息是不准确的,和Win32什么的没有任何关系,是因为VS2012默认的编译器与XP不兼容。
解决办法是:前往http://www.下载VS2012的Update 3更新。(进去之后页面会自动下载一个大概1MB多的下载器,不要用那个,大陆太慢了。点击"安装说明",直接下载下面那个镜像)安装好之后在VS2012中将"项目属性"->"配置属性"->"常规"->"平台工具集"设为"Visual Studio 2012 - Windows XP (v110_xp)"即可。
[ 本帖最后由 taozztzz 于 2013-7-30 15:57 编辑 ]