首页 > [转]VS2015编译的程序在其他机器上缺少msvcp120.dll

[转]VS2015编译的程序在其他机器上缺少msvcp120.dll

http://www.lai18.com/content/1159618.html

 

1、

今天分享一个自己在开发过程中遇到的困难。



用VS2015开发了一个windows客户端(win32项目),在自己的机器上运行很流畅。当你得意的把releas版本进行打包,并进行发布后,问题来了?很多人反馈运行时缺少msvcp140.dll,甚至有人在XP系统上完全不能用。



那么首先看看是如何解决的: 



在工程上打开属性,选择C/C++,选择代码生成,把运行库改为“多线程(/MT)”。重新编译即可。 







但是对于兼容XP的问题呢?同样是在工程的属性里,选择常规,平台工具集中选择“Visual Studio 2015-Windows XP(v140_xp)” 







你以为这样就大功告成了吗,大错特错。上面的方法是解决缺少msvcp140.dll的方法,但是我遇到的问题是缺少msvcp120.dll。



到底这是个什么鬼? 



其实说白了就是C++的动态链接问题。 



msvcp120.dll是vs2010编译的程序默认的库文件。msvcp120.dll可以解决某些大型游戏、程序由于vs2010编译系统中缺失此dll的问题。vs2010编写的程序运行所需dll。 



如果您的系统提示“找不到msvcp120.dll ”或“msvcp120.dll 缺失” 或者“msvcp120.dll 错误”的问题,下载本文件复制到*/Windows/SYSTEM32下,即可解决问题。



那这么说msvcp140.dll就是vs2015对应的库文件了。



这时候关键问题来了?我用的是vs2015,而且已经改为了多线程(/MT),但是为什么会显示缺少msvcp120.dll呢?



哎,怪自己孤陋寡闻,被这个问题折磨了一天。



这时候常规的做法是用depends来看一下.exe的依赖项。 



看了很多遍都没发现问题。



最后灵机一定,是不是使用的第三方库(别人的dll)出了问题呢?这里用到了一个gloox.dll,迅速用depends看下gloox.dll,果然存在对msvcp120.dll的依赖。



怎么办呢?找gloox的源码吧,自己重新编译一下。



但是在编译gloox的时候,出错了。。。。。。



未完待续。。。。。。

2、

3、

 

转载于:https://www.cnblogs.com/cppskill/p/6061574.html

更多相关:

  • 这是学习笔记的第 2103 篇文章 最近碰到了一个奇怪的权限问题,问题的背景是业务同学反馈在下班后,有一个数据表出现了阻塞,导致后续的业务流程都产生了拥堵,在对这个问题进行分析发现,业务同学所谓的拥堵,阻塞是数据库连接出了问题。当然我们进行了一些深入的沟通,对整个问题的情况有了一个更为清晰的了解。    6:30左右,业务同学发现...

  • 今天我将为大家介绍逻辑回归的含义并展示Pytorch实现逻辑回归的方法,先我们来看看一个问题。问题: 大家想必对MNIST数据集已经非常熟悉了吧?这个数据集被反复“咀嚼”,反复研究。今天我们将换个角度研究MNIST数据集。假设现在不使用卷积神经网络,又该使用什么方法来解决MNIST分类问题呢?一、观察数据 在开始分析数据问题之前,我...

  • 写在前面 最近公众号的活动让更多的人加入交流群,尝试提问更多的我问题,群主也在积极的招募更多的小伙伴与我一起分享,能够相互促进。 这里总结群友经常问,经常提的两个问题,并给出我的回答: (1)啥时候能出教程,能够讲解PCL中的各种功能? (2)如何解决大规模点云的问题呢?   以下给出正式的解答以及计划安排 问题1:对于...

  •   我刚刚开始接触PCL,懂的东西也很少,所以总是出现各种各样的问题,每次遇见问题的时候要查找各种各样的资料,很费时间。所以,今天我把我遇见的常见问题分享给大家,讲解的步骤尽量详细,让和我一样基础差的小伙伴能尽快进入到PCL点云库的学习中,希望能和大家进步。 运行环境:PCL-1.8.0-AllInOne-msvc2013-win...

  • 这篇博文中主要收集我开发过程中遇到的Makefile相关的问题, 以免自己日后再犯类似的错误. 今天就遇到一个很弱的问题, Makefile显示如下错误: 出现该问题是因为我写错了标注处的代码: $和()之间有空格了, 这里必须是$(), 不能有空格的...

  • PCL1.9.1并没有支持vs2015版本的exe版本,然后需要下载PCL的源码重新自己CMake编译出vs2015版本的编译的目的:1、得到支持vs2015的版本的PCL1.9.1 前期准备1、下载PCL源码:https://github.com/PointCloudLibrary/pcl2、下载安装版(主要是为...

  • 下载gcc文档,第三章有详细的build options的介绍。 最近我用到2个关键的option 来定位问题,简单介绍一下: 1. -E: 只是进行预编译,不会编译和link。用于检查宏在代码中的展开是否符合预期; 2.--verbose: 开启verbose mode, 用于输出编译整个过程中的详细信息,可帮助查看build...

  • 浅谈GCC预编译头技术 文/jorge ——谨以此文,悼念我等待MinGW编译时逝去的那些时间。 其 实刚开始编程的时候,我是丝毫不重视编译速度之类的问题的,原因很简单,因为那时我用BASICA。后来一直用到C++ Builder,尽管Borland的广告无时无刻不在吹嘘其编译速度,我却从没有对这个问题上心过,因为心里根本没有“...

  • 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行...

  • 文章目录前言Makefile 编译流程1. 平台变量/环境变量的初始化。2. 编译需要的源码文件变量初始化。3. include 目录的设置。4. 编译的执行逻辑。问题记录1:可能的打包命令`ar` 失效问题5. 执行具体的编译指令问题记录2: jar 包编译...