在 "new" 台计算机上安装调试编译的 pgm
Install a debug compiled pgm on a "new" computer
我有一个巨大的项目,其中包括 C# 和 C++ 以及许多 .dll。
在我的电脑上一切 运行 都很好。
但是 - 当我将整个 "debug" 文件夹(包含所有用户需要的 dll 和配置文件)复制到一台新格式化的计算机时 - 我无法 运行。
我在新电脑上安装:
.NET 4.7 框架
visual c++ 重新分发(2015、2017.. x86 x64.. 我认为的一切)
但没有帮助
虽然我安装了 Visual Studio Build-Tools
之后,它工作得很好。
问题是这是一个非常大的安装 (4GB+/-),我不想在我的客户计算机上安装它(现在我们处于测试阶段,还没有 release
编译。)
我写了一个小程序 运行s dumpbin
在所有项目的 dll 上,获取它们的依赖项并在文件系统中搜索它们。
我发现我的系统中缺少一些(调试?)dll,例如:
MSVCP140D.DLL
VCRUNTIME140D.DLL
UCRTBASED.DLL
如果可以,我应该怎么做才能在 'naked' 计算机上 运行 这个 pgm,或者我如何设法安装这些丢失的 dll?
是的。在未安装构建工具的情况下,您无法 运行 在目标计算机上调试应用程序。问题是 C++ 再分发 DLL 的调试版本不是正常再分发包的一部分。
您找到属于 C++ 再分发包 here 的 DLL 列表。如果您不想安装构建工具,您唯一的选择是手动将这三个 DLL 复制到目标计算机。
如果您使用发布目标构建应用程序,将使用 DLL 的发布版本。他们有相同的名字,没有 D
后缀。这些 DLL 是 Visual C++ Redistributable for Visual Studio 2015.
的一部分
所以你的选择是:
- 将 DLL 复制到您的新系统
- 在您的新系统上安装构建工具
- 构建应用程序时使用发布目标
我有一个巨大的项目,其中包括 C# 和 C++ 以及许多 .dll。
在我的电脑上一切 运行 都很好。
但是 - 当我将整个 "debug" 文件夹(包含所有用户需要的 dll 和配置文件)复制到一台新格式化的计算机时 - 我无法 运行。
我在新电脑上安装:
.NET 4.7 框架
visual c++ 重新分发(2015、2017.. x86 x64.. 我认为的一切)
但没有帮助
虽然我安装了 Visual Studio Build-Tools
之后,它工作得很好。
问题是这是一个非常大的安装 (4GB+/-),我不想在我的客户计算机上安装它(现在我们处于测试阶段,还没有 release
编译。)
我写了一个小程序 运行s dumpbin
在所有项目的 dll 上,获取它们的依赖项并在文件系统中搜索它们。
我发现我的系统中缺少一些(调试?)dll,例如:
MSVCP140D.DLL
VCRUNTIME140D.DLL
UCRTBASED.DLL
如果可以,我应该怎么做才能在 'naked' 计算机上 运行 这个 pgm,或者我如何设法安装这些丢失的 dll?
是的。在未安装构建工具的情况下,您无法 运行 在目标计算机上调试应用程序。问题是 C++ 再分发 DLL 的调试版本不是正常再分发包的一部分。
您找到属于 C++ 再分发包 here 的 DLL 列表。如果您不想安装构建工具,您唯一的选择是手动将这三个 DLL 复制到目标计算机。
如果您使用发布目标构建应用程序,将使用 DLL 的发布版本。他们有相同的名字,没有 D
后缀。这些 DLL 是 Visual C++ Redistributable for Visual Studio 2015.
所以你的选择是:
- 将 DLL 复制到您的新系统
- 在您的新系统上安装构建工具
- 构建应用程序时使用发布目标