VS2012发布到XP平台

默认情况下,你的VS2012工程发布后,在XP下运行会出现提示“not a valid win32 application”。

微软推出了Visual Studio 2012 update 1可以支持发布到XP平台,这个更新好像只能在线安装,比较麻烦.

然而就算你打了补丁,你的程序在XP下可能还会出现

“无法定位程序输入点 FlushProcessWriteBuffers 于动态链接库 KERNEL32.dll 上”

这样的错误提示。见http://bbs.csdn.net/topics/390313776

这是因为要把工程发布为静态库才能具有“跨平台”的属性。

安装完毕Visual Studio 2012 update 1后,对工程做如下设置(笔者以MFC程序为例说明):

1.【配置属性】-【常规】-【平台工具集】,选择“Visual Studio 2012 (v110 XP)”(不打补丁没有该选项)。

2.【配置属性】-【常规】-【使用MFC】,选择“Use MFC in a Static Library”(非MFC程序可无视)。

3.【配置属性】-【C/C++】-【代码生成】-【基本运行时库】,

根据你的当前工程属性Debug还是Release来选择“Multi-threaded Debug (/MTd)”或者“Multi-threaded (/MT)”。

要了解更多基本运行时库的知识,参见

http://www.cnblogs.com/eddyshn/archive/2009/11/23/1608823.html

4.将你的工程中依赖的所有外部库,都按照步骤1~3重新编译

注意第四步很重要。如果你只完成了前三步,编译工程发现一大堆link错误,那就是你第四步没有做完整的原因了。

一个项目使用的库中如果存在不同版本的基本运行时库,必然导致冲突。

如果你用到的第三方库没有源码,而且又不是用MTD或MT编译的,很可能你就悲剧了。

参考资料:

http://www.cnbeta.com/articles/194853.htm

http://blog.163.com/f_jinyi/blog/static/311803152009112935449972/

http://blog.csdn.net/lsldd/article/details/8821063

时间: 2024-10-13 05:08:59

VS2012发布到XP平台的相关文章

VS2012中使用CEGUI项目发布到XP平台的问题(核心方法就一句话。“你项目使用的所有外部依赖库都用/MT编译。”)

接着上一篇文章,详细说说如何把一个带CEGUI的项目发布到XP平台. 这个问题纠缠了我好几天.这里把详细解决思路记下来.有同样问题的朋友可以少走很多弯路. 核心方法就一句话.“你项目使用的所有外部依赖库都用/MT编译.” 1.准备. 首先你要具备如下工具:CEGUI源码:FreeType源码:Pcre源码:CMake工具.我会在下文说明原因. 各个开源库的版本号,请参考你的CEGUI引用的各自的头文件分别下载. FreeType开源库主页:http://sourceforge.net/proje

vs2012 发布网站丢失文件

问题描述 在发布网站时,发现上线的网站总是功能缺失,而本地代码确实没问题. 到发布网站的磁盘去查看,发现丢失了很多静态页面文件. 这是一个很奇怪的问题:mvc的网站,丢失了很多View(大部分的cshtml文件都发布成功了,只有少数部分发布失败). 手动将所有view全部覆盖一遍,发现网站可以正常运行了-- 这是什么原因呢?为什么发布会遗漏部分静态文件呢? 解决方案 在vs中查看这些遗漏的和发布成功的文件属性,对比一下发现 发布成功的文件,属性中[生成操作]选中了[内容]选项,而失败的文件则是[

陈松送:22个免费发布视频的平台

每个视频,都是你的金牌业务员 这是我写的第21篇视频营销原创文章 与其搜索十年,不如花一年的时间学习,去赚9年的高薪! 发视频比做视频重要100倍! 你花1小时做一个视频,那你就要花至少2个小时去发布这个视频. 因为发视频是给你源源不断的带来客户,而你做视频是帮助你留住客户,所以越多人看到你的视频,那主动找到你的客户就会越多,你的生意就越好 . 很多人之所以视频营销做不好,很大一部分原因就是发的太少. 那我就列下可以发布视频或者调用视频的免费平台,这些平台不分先后顺序,也无特定倾向: 一.发布视

如何把自己的插件发布到bower平台

假设我们已经把项目发布到github平台上了,这个是我新发布到github平台上的项目  https://github.com/bxcn/ajaxData 打开github的bash操作如下: git tag 0.1.0 git push origin --tags 打开github的项目,就找到我们刚才创建tag版本 在bower中注册一下你的项目,输入以下命令执行后,选择y bower register <my-package-name> <git-endpoint> bowe

VS2012发布网站详细步骤(转)

VS2012发布网站详细步骤 (2013-06-14 20:35:03) 标签: 文化   1.打开你的VS2012网站项目,右键点击项目>菜单中 重新生成一下网站项目:再次点击右键>发布: 2.弹出网站发布设置面板,点击<新建..>,创建新的发布配置文件: 输入你自己定义的配置文件名: 3.点击下一步:在发布方法中选“文件系统”,这样我们可以发布到自己指定的本机文件上. 选择自己指定的文件夹:通过点击下图中右上角红色箭头处创建新的文件夹,自定义命名(我的就写WebSite).点击

vs2012发布网站到IIS遇到的问题

1.  CS0016: 未能写入输出文件的解决方法: 1.设置c盘下windows下temp 目录访问权限 temp--> 属性-->安全-- > 给iis_user赋予其权限为 读 和 写--> 确定 2.发布网站的时候要求填配置,随便填一个就ok vs2012发布网站到IIS遇到的问题

使用NuGet将我们的ASP.NET Core类库打包并将程序包(类库)发布到NuGet平台上进行管理

本章将和大家简单分享下如何使用NuGet将我们的ASP.NET Core类库打包并将程序包(类库)发布到NuGet平台上进行管理. 一.注册并登录NuGet平台 NuGet官网:https://www.nuget.org/ 此处我使用的是微软账号进行关联登录 登录成功后就可以管理个人信息了,此处就不做过多的描述了 二.下载nuget.exe文件进行ASP.NET Core类库打包 下载完成后如下: 接着修改类库版本等相关信息,点击类库右键属性并选择打包,如下所示: 修改完成后记得保存并重新生成

花生壳发布远程管理平台智能设备实现实时监控

北京时间7月1日上午10:00,花生壳(hsk.oray.com)公司发布了"花生壳远程管理"平台.这个平台主要用于管理花生壳的嵌入式,例如花生壳在威联通NAS.树莓派.极路由.魔豆路由器等智能设备的嵌入管理,实现实时状态的监控. "花生壳远程管理"平台,为智能设备嵌入式用户提供统一的管理平台.通过b.oray.com登陆账号,就能进入花生壳远程管理界面,进行实时状态监控状态,选择意外离线IP保持,进行诊断和线路设置等. 据花生壳总监L.S介绍,"2015

VS2012发布网站详细步骤

1.打开你的VS2012网站项目,右键点击项目>菜单中 重新生成一下网站项目:再次点击右键>发布: 2.弹出网站发布设置面板,点击<新建..>,创建新的发布配置文件: 输入你自己定义的配置文件名: 3.点击下一步:在发布方法中选“文件系统”,这样我们可以发布到自己指定的本机文件上. 选择自己指定的文件夹:通过点击下图中右上角红色箭头处创建新的文件夹,自定义命名(我的就写WebSite).点击打开,进入下一步 4.在配置中,要选择“Release”——发布模式(Release   称