VS2015在win10上编译的程序不能在Win7上运行的原因
研究了下,搞懂原理了。是VS 2015 编译的问题,因为我是Win 10 ,所以会用到win 10 的SDK ,这个SDK 依赖了Universal C Runtime ,就是API-MS-CRT-XXX.dll系列,这个玩意儿是为了让在Win 10 上用VS 2015 编译出来的东西在早期Win 上运行完美的组件,所以dependency walker依赖那里有个DLL 的转发。所以为啥我以前用VS 2012 在Win 10 开发,放Win 7上完美运行,而VS 2015 就不行,放Win 7 上就挂了。
其实VS2015 的Visual C++ Redistributable for Visual Studio 2015里面就包含了Universal C CRT。但是在非Win7 SP1上会安装失败,这是没办法的。
所以解决办法有以下:
1.换低版本的VS2013来编译项目
2.还是继续用VS2015,不过运行时库得用静态链接,也就是说,你所有第三方用的依赖库,都得重新用VS2015的运行时静态连接编译一遍,如果你用Qt,得了,Qt不提供静态库版本,得自己重新用VS2015编。
references:
https://www.zhihu.com/question/47973373
http://www.mamicode.com/info-detail-1488335.html
https://www.smartftp.com/support/kb/the-program-cant-start-because-api-ms-win-crt-runtime-l1-1-0dll-is-missing-f2702.html
https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows
https://social.msdn.microsoft.com/Forums/en-US/96a1451b-ae6a-4c81-8029-dc00ab6a8d4a/the-program-cant-start-because-apimswincrtruntimel110dll-is-missing-from-your-computer?forum=vcgeneral
VS2015在win10上编译的程序不能在Win7上运行的原因的更多相关文章
- Visual Studio 2012编译的程序无法在XP下运行的解决办法【转】
最近看到一篇<Windows编程革命简史>,想到以前刚开始用VS2012的时候,编译的程序在其他人那无法运行,一查才知道是VS2012本身不支持XP.当然现在微软早已在VS2012 Upd ...
- 在VS13上编译通过的代码放在12上编译-错误:l __dtoui3 referenced in function _event_debug_map_HT_GROW
在VS13上编译通过的代码放在12上编译 遇到错误:l __dtoui3 referenced in function _event_debug_map_HT_GROW 1>------ 已启动 ...
- VS2015在win10上编译的程序在Win7上运行的方法
在win10系统上使用vs2015编译了一个32位的应用程序.在win7上报错无法启动. 下面的win7系统上是可以运行的 无法运行的win7系统: 报错: 1.应用程序无法正常启动(0xc00000 ...
- [转]VS2015编译的程序在其他机器上缺少msvcp120.dll
http://www.lai18.com/content/1159618.html 1. 今天分享一个自己在开发过程中遇到的困难. 用VS2015开发了一个windows客户端(win32项目),在自 ...
- vs2015上编译QT程序的环境搭建
下载相对应版本的QT(以QT5.7.0为例),进入网站http://download.qt.io/archive/qt/5.7/5.7.0/,下载MSVC版本QT,我的系统是64位,VS版本是2015 ...
- 一个在mac上编译c++程序的低级失误
今天在编译hadoop的pipes的wordcount例子时,总是报错不能成功. g++ -m64 -I/Users/stephen/Downloads/hadoop-0.20.2/c++/Mac_O ...
- 如何上传网站程序(文件浏览器上传网页、FileZilla上传网站程序)
问题场景: 网页制作完成后,程序需上传至虚拟主机. 注意事项: Windows系统的主机请将全部网页文件直接上传到FTP根目录,即 / . Linux系统的主机请将全部网页文件直接上传到 /htdoc ...
- Inno Setup打包的安装程序在Vista/Win7上自动提示需要管理员权限的方法
来源:http://hi.baidu.com/jingrensoft/blog/item/c34575cfae4fb926f9dc617f.html 首先,在 [Setup]段 PrivilegesR ...
- Windows 上编译 corefx 源码生成 Linux 上可用的 System.Data.SqlClient.dll
最近在排查一个奇怪的 EF Core 查询速度慢的问题,需要在 corefx 2.2.3 的 System.Data.SqlClient 源码中打点. github 上签出 corefx 的源代码,运 ...
随机推荐
- [摘抄] Bezier曲线、B样条和NURBS
Bezier曲线.B样条和NURBS,NURBS是Non-Uniform Rational B-Splines的缩写,都是根据控制点来生成曲线的,那么他们有什么区别了?简单来说,就是: Bezier曲 ...
- eclipse web module版本问题:Cannot change version of project facet Dynamic Web Module to 2.5.
Description Resource Path Location TypeCannot change version of project facet Dynamic We ...
- Android签名文件转化为pk8和pem来对apk重签名
当我们需要修改已经打包好的apk中的某个文件时,比如改下图标,我们势必要采用反编译apk,改文件,重编译apk,重签名才行,参考:https://www.cnblogs.com/zndxall/p/9 ...
- js 判断浏览器型号
<html><head> <meta http-equiv="Content-Type" content="text/html;charse ...
- to_date
SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'; 会话已更改. SQL> SELECT TO_DATE(' ...
- poj3155 最大密度子图
求最大密度子图 记得在最后一次寻找的时候记得将进入的边放大那么一点点,这样有利于当每条边都满流的情况下会选择点 #include <iostream> #include <algor ...
- 【Spark-core学习之九】 Spark案例
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...
- tomcat+apache的集群配置
背景:项目比较大,用户较多,同一时间,用户在线人数较多,为此,整体架构是lvs(2台)+keepalived(2台)+apache(N台)+tomcat(N台) lvs负责分发请求,所有的web请求经 ...
- MySQL删除命令_DELETE
单表删除语句: DELETE [LOW_PRIORITY][IGNORE] FROM tbl_name [WHERE where_definition] [ORDER BY ...] ...
- Linux 查看dns运行状态
命令:dig www.baidu.com #测试解析 安装:yum install bind-utils @<服务器地址>:指定进行域名解析的域名服务器: -b<ip地址>: ...