【发布时间】:2020-02-03 05:07:57
【问题描述】:
我试图简单地将 OpenGL、C++ 应用程序从一台计算机部署到另一台计算机。该应用程序是使用 Visual Studio 2017 社区编写的。第一台电脑安装了VS,第二台没有。
这些计算机分别具有 Intel Core i7-8550U CPU 和 Intel Atom x5-Z8350 CPU。两者都运行 Windows 10 家庭版。
VS 项目一开始是一个空项目,我在其中添加了所有内容。
我已将发行版、x64 应用程序 .exe 文件和项目开发所需的一个 .dll 文件复制到第二台计算机上的单个目录中。
Microsoft instructions for local deployment 说“本地部署,您从 Visual Studio 安装中复制特定的 Visual C++ DLL(通常在 \Program Files (x86)\Microsoft Visual Studio version\VC\Redist\platform\library\ 中)并安装它们位于与应用程序可执行文件相同的文件夹中的目标计算机上。您可以使用这种部署方法来支持没有管理员权限的用户安装,或者支持可以从网络共享运行的应用程序。”
我在 VS 中可以看到或找到的任何设置都无法告诉我我开发并在第一台计算机上运行的应用程序正在使用哪些 .dll 文件。有一个 VS 输出窗口,其中显示了许多 .dll 文件,但这些文件位于 c:\windows\system32 中。
根据 Microsoft 说明中有关 \Program Files (x86)\Microsoft Visual Studio version\VC\Redist\platform\library\ 中 MSVC DLL 的参考,我查看了 ..\VC\Redist\MSVC\14.16。 27012\x64 在第一台电脑上找到了这些文件夹:
我已将 .CRT 目录和 .MFC 目录中的 DLL 复制到第二台计算机,但无济于事。
当我尝试在第二台计算机上运行该应用程序时,它会显示消息“无法创建 GLFW 窗口”,这在我编写的代码中如下所示:
似乎必须有一个简单的方法来做到这一点。我看到了对旧的 Microsoft 应用程序(我认为)的引用,depends.exe,它提供了所需 DLL 的列表,但它不再与 Windows 系统一起部署。
【问题讨论】:
标签: c++ visual-studio opengl visual-studio-2017