鱼C论坛

 找回密码
 立即注册
查看: 6910|回复: 1

[技术交流] VS2015的程序在xp中运行的相关设置

[复制链接]
发表于 2017-3-16 21:29:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 joker11111 于 2017-3-16 21:30 编辑

用VS2015生成的程序在xp中运行时常遇到问题,要么会报,不是有效的win32程序,要么就是缺少系统文件mfc140.dll(Release版),mfc140d.dll(Debug版),如果是VS2013的话,可能会报缺少mfc120.dll或者mfc120d.dll
总之,这些,都是可以通过VS的项目属性配置来解决的,接下来,老司机就带领大家看看这配置改怎么设:

首先:将:常规->平台工具集设置为:winxp,如下图所示:
11.jpg
其次,将:常规->mfc的使用设置为:在静态库中使用MFC
22.jpg
最后,将:C/C++->代码生成->运行库设置为:多线程(/MT)或者多线程调试(/MTD),分别对应Release版和Debug版
33.jpg

这几项设置主要是将VS2015特有的MFC依赖库:mfc140.dll或者mfc140d.dll静态加载到你的程序中,这样在xp上跑起来就不需要这两个动态库了,这样做的话,生成的文件会稍大一点。这里,也是动态库静态加载和动态加载的区别。

还有的鱼油从VC++6.0使用过来,再切换VS2015觉得很不习惯,经常性会报一些错误,scanf不安全,要换成scanf_s, strcmp函数要写成strcmpA函数才能成功编译,等等这些问题都是字符编码的问题。
这里就会涉及到一个概念: Unicode :宽字节字符集
想知道的鱼油,可以看《windows核心编程》第二章,有对这方面知识的讲解。
什么,没有书,传送门给你


下面如何通过项目配置来使用多字节字符集编程,从而规避这个问题
首先,将:常规->字符集设置为:使用多字节字符集
44.jpg
其次,C/C++->常规->SDL检查设置为否
55.jpg
接下来你又可以愉快的编程啦
但是我还是建议大家编写Unicode程序 ,毕竟大势所趋,况且微软从win2000开始就已经支持Unicode了。

恩,就酱紫,完结!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-31 22:03:09 | 显示全部楼层
不错,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 13:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表