无法启动此程序,计算机丢失MSVCP110D.dll 解决方案

简介:

场景

VS2012编译的动态库,拷贝到安装VS05的机器上,调用的过程中出错如下:

无法启动此程序,计算机丢失MSVCP110D.dll。尝试重新安装该程序以解决此问题


环境

VS2012和VS2005中项目属性,C/C++选项卡下代码生成>运行时库:多线程调试DLL(MDd)默认的调试版本会指定该运行库配置,减少dll的体积


解析

出错原因是编译动态库的时候,运行时库选择了多线程调试DLL(MDd),程序运行时,缺少了MSVCP110D.dll运行时库。VS05携带的运行时库是msvcr80.dll,在不同的编译器环境下,编译出来的dll,会依赖不同版本的运行时库,主要是VS不同的版本使用的VC库是不一样的


补充

M后面的T或者是D,实际上分别代表了静态库static,动态库dymanic

当修改动态库项目的运行时库为MT或者MTd,其他项目进行引用的时候(该项目也必须设置成相同的运行时库),这样子编译出来的程序,只会依赖操作系统中的核心dll组件(kernel32.dll,

gdi32.dll,shell32.dll),拷贝到同一个版本的系统,即使没有安装VS也可以正常运行



    本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1730913,如需转载请自行联系原作者



相关文章
|
计算机视觉
U盘使用技巧:U盘自动启运行应用程序(autorun.inf无法运行终极解决方案)
U盘使用技巧:U盘自动启运行应用程序(autorun.inf无法运行终极解决方案)
U盘使用技巧:U盘自动启运行应用程序(autorun.inf无法运行终极解决方案)
遭遇修改系统时间、使用映像劫持的xibgptd.exe,netdde32.exe等1
遭遇修改系统时间、使用映像劫持的xibgptd.exe,netdde32.exe等1
遭遇修改系统时间、使用映像劫持的xibgptd.exe,netdde32.exe等2
遭遇修改系统时间、使用映像劫持的xibgptd.exe,netdde32.exe等2
|
6月前
|
C++ Windows
msvcr120.dll丢失的解决方法
msvcr120.dll丢失的解决方法
Win10系统msvcr120.dll丢失解决
Win10系统msvcr120.dll丢失解决
真正解决办法:WINDOWS7/WIN7提示错误:无法启动此程序,因为计算机中丢失D3DCOMPILER_47.dll。尝试重新安装该程序以解决此问题
真正解决办法:WINDOWS7/WIN7提示错误:无法启动此程序,因为计算机中丢失D3DCOMPILER_47.dll。尝试重新安装该程序以解决此问题
832 0
真正解决办法:WINDOWS7/WIN7提示错误:无法启动此程序,因为计算机中丢失D3DCOMPILER_47.dll。尝试重新安装该程序以解决此问题
|
关系型数据库 MySQL C++
解决“无法启动此程序,因为计算机中丢失VCRUNTIME140.dll,尝试重新安装此程序以解决此问题”方案合集
解决“无法启动此程序,因为计算机中丢失VCRUNTIME140.dll,尝试重新安装此程序以解决此问题”方案合集
解决“无法启动此程序,因为计算机中丢失VCRUNTIME140.dll,尝试重新安装此程序以解决此问题”方案合集
|
Windows
WINDOWS获得当前执行程序路径的办法
WINDOWS获得当前执行程序路径的办法
271 0
“由于找不到MSVCP140.dll,无法继续执行代码,重新安装程序可能会解决此问题等”解决方案
“由于找不到MSVCP140.dll,无法继续执行代码,重新安装程序可能会解决此问题等”解决方案
986 0