【问题标题】:Different C++ Redistributable DLL's for VS 2013 and VS 2015VS 2013 和 VS 2015 的不同 C++ 可再发行 DLL
【发布时间】:2017-05-11 15:30:18
【问题描述】:

我使用 VS 2013 构建了我的应用程序,并交付了两个 DLL:

  • msvcp120.dll
  • msvcr120.dll

使用 VS 2015 构建相同的应用程序,我们需要:

  • msvcp140.dll
  • vcruntime140.dll

vcruntime140.dll 是否替代了之前的 msvcp120.dll?

【问题讨论】:

  • 你可能打错了,它大致相当于 msvcr120.dll。 msvcr 库是split in two,因此名称发生了变化。第二部分是 ucrtbase.dll,通过 Windows Update 交付。
  • 关于该主题的详细对话(包括 MSVC STL Dev)here

标签: c++ visual-studio-2013 visual-studio-2015


【解决方案1】:

是的。

Visual Studio 在获得主要版本更新时通常会破坏与旧版本的二进制兼容性。一个值得注意的例外是从 VS2015(14.x) 到 VS2017(15.x) 的转换,这没有破坏二进制兼容性。

对于所有其他版本,当您更改 Visual Studio 的版本时,您需要更改安装到目标计算机上的运行时可再发行组件。

编辑: 根据 Christopher 的观察:不要手动将 .DLL 文件安装到目标计算机上。下载Redistributable Installer from Microsoft,并将其与您的程序一起提供,并附带首先安装该程序的说明(或安装程序)。此链接指向 2015 版本,但您应该获取与您正在使用的特定 Visual Studio 版本相对应的版本。

【讨论】:

  • 重申:您不应该自己复制单个 dll。您的目标计算机应该为您使用的任何版本的 Visual Studio 安装 Microsoft Visual Studio Redistributable Package。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-25
  • 1970-01-01
  • 1970-01-01
  • 2018-06-28
  • 1970-01-01
  • 1970-01-01
  • 2015-08-07
相关资源
最近更新 更多