VS发布软件时去除msvcp100.dll和msvcr100.dll图解说明

最近开发个程序,Copy到虚拟机环境中测试时提示缺少msvcr100.dll,于是想到编译时设置选项去除依赖。

 

什么是 msvcr100.dll 

MS = Microsoft
 V = Visual
 C = C program language
 R = Run-time
 100 = Version

什么是 msvcp100.dll

MS = Microsoft
 V = Visual
 CP = C++
 100 = version

VS中的多线程(/MT)、多线程调试(/MTd)、多线程DLL(/MD)、多线程调试DLL(/MDd)的区别

一种语言的开发环境往往会附带有语言库,这些库就是对操作系统的API的包装,我们也称这些语言库为运行库

对于MSVC的运行库(CRT),按照静态/动态链接,可以分为静态版和动态版;按照调试/发布,可以分为调试版本和发布版本;按照单线程/多线程,可以分为单线程版本和多线程版本(但是目前VS中已不提供单线程版本了)

在调试模式下,使用调试运行库:多线程调试(/MTd)、多线程调试DLL(/MDd)

在发布模式下,使用发布运行库:多线程(/MT)、多线程DLL(/MD)

调试模式下运行库带d,但发布模式不带。调试与发布的区别在于,发布模式省略了程序的调试信息,简单来说就是删除了调试模式下的用于调试的内容,所以一般情况下,发布模式下生成的可执行文件的大小比调试模式下生成的要小

静态链接:多线程(/MT)、多线程调试(/MTd)

动态链接:多线程DLL(/MD)、多线程调试DLL(/MDd)

动态链接为D,静态链接为T。两者的区别在于,静态链接将程序所依赖的运行库集成到了可执行文件中,可执行文件运行时不再需要运行库;动态链接没有把程序所依赖的运行库集成到可执行文件中,可执行文件运行时需要运行库。由于静态链接将程序所依赖的运行库集成到了可执行文件中,一般情况下,生成的可执行文件的大小大于动态链接生成的

对这四种运行库的选在位于VS的项目属性-》C/C++-》代码生成-》运行库:

 

解决的办法

Release版本

Visual Studio 2010, 打开菜单中的项目》属性:

打开 配置属性 | C/C++ | 代码生成

找到 运行库.将 多线程DLL(/MD) 改为 多线程(/MT)


重新编译.

Debug版本

Visual Studio 2010, 打开菜单中的项目》属性:

打开 配置属性 | C/C++ | 代码生成

找到 运行库.将 多线程调试DLL(/MDd) 改为 多线程调试(/MTd)


重新编译.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: msvcp120d.dll和msvcr120d.dll是Windows系统中的两个动态连接库文件。它们是Microsoft Visual C++ 2013 Redistributable Package中包含的文件,用于支持由Visual C++ 2013编译的应用程序在运行调用。其中,msvcp120d.dll主要负责提供C++语言编写的应用程序所需要的标准C++库函数、数据类型和对象等支持,而msvcr120d.dll则提供C语言标准库函数的实现。 64位的msvcp120d.dll和msvcr120d.dll是为64位操作系统编译的,相比于32位版本,它们可以更好地支持大规模数据操作和计算,提高应用程序的稳定性和性能。 在一些特定情况下,用户可能会遇到缺少msvcp120d.dll和msvcr120d.dll的错误提示。这可以通过从官方网站下载Visual C++ 2013 Redistributable Package安装程序来解决。如果仍然无法解决,建议联系应用程序开发商或者确认操作系统是否需要更新。总的来说,msvcp120d.dll和msvcr120d.dll是非常重要的系统库文件,它们为Visual C++应用程序的正常运行提供了必要的支持。 ### 回答2: msvcp120d.dll和msvcr120d.dll是微软Visual C++ 2013的动态链接库文件,主要用于支持C++编写的程序的运行。其中,msvcp120d.dll是C++的标准库文件,包含了内存管理、STL容器、字符串和流等常用的函数;msvcr120d.dll是C运行库文件,包含了一些基本的I/O和字符串处理函数等。 64位的msvcp120d.dll和msvcr120d.dll是针对64位操作系统的版本,其文件大小和功能与32位版本不同。64位版本可以支持更多的内存,提升程序运行性能,但同也需要更快的CPU和更高的硬件要求。 在编写C++程序,需要在代码中添加相关的头文件和库文件,用来调用这些动态链接库函数。若缺少相关库文件,程序将无法编译或者无法正常运行。因此,安装Visual C++ 2013或者Visual Studio等开发工具,这些库文件会被自动安装到Windows系统目录下,供程序使用。 总之,msvcp120d.dll和msvcr120d.dll是C++编程所必需的重要组成部分,它们可以提供标准库函数和一些运行支持,是保证程序正确性和高效性的关键。 ### 回答3: MSVCP120d.dll和MSVCR120d.dll是Microsoft Visual Studio 2013中的两个库文件,用于C++开发语言编译和运行程序。 64位的msvcp120d.dll是一个C++ Runtime库文件,用于在64位Windows操作系统上运行C++编译的程序。它包含了一系列的函数和类,这些函数和类是为C++开发语言写的,可以在程序中使用。C++开发人员可以在编写程序的候使用这些函数和类进行编程,从而简化代码的编写和维护,并加快开发效率。 而MSVCR120d.dll是一个C Runtime库文件,也是为了在Windows操作系统上运行C编译的程序。这个库文件中包含一些C语言标准库函数,如printf和scanf等。在编译C程序的候,可以使用这些函数,从而更方便地完成程序的编写和调试。 总之,这两个库文件都是为C++和C编程开发人员提供的非常重要的库文件,在程序编译和运行过程中起着非常重要的作用,对于编写高质量、高效的程序来说具有重要的意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值