zoukankan      html  css  js  c++  java
  • [转]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、

  • 相关阅读:
    连续子数组的最大和
    最小的K个数
    数组中出现次数超过一半的数字
    字符串的排列
    二叉搜索树与双向链表
    复杂链表的复制
    二叉树中和为某一值的路径
    二叉搜索树的后序遍历序列
    Xcode5下去除Icon高光
    Unity3D-基本导航(NavMesh)功能实现
  • 原文地址:https://www.cnblogs.com/cppskill/p/6061574.html
Copyright © 2011-2022 走看看