简洁版本:是否可以在不安装 Visual C++ Redistributable Packages 的情况下运行使用 Visual Studio 2015 编译的可执行文件,而是将运行时 DLL 复制到与可执行文件相同的文件夹中?
长版...
自 20 世纪 90 年代中期以来,我一直使用 Visual C++ 编写小程序,后来又使用 Visual Studio。直到 Visual Studio 2013,只要我将 msvcpXXX.dll 和 msvcrXXX.dll 放在同一目录中,我始终能够在任何 Windows 主机上运行这些程序。我从来不需要安装 Visual C++ Redistributable Packages。
现在,在 Visual Studio 2015 中,这似乎不再起作用。首先没有msvcrXXX.dll。因此,我复制了 msvcp140.dll 和在 Visual Studio 文件夹 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\x64\Microsoft.VC140.CRT (concrt140.dll、vccorlib140.dll) 中找到的其他三个 DLL 、vcruntime140.dll)。还是不跑。
查看depends.exe 让我觉得这些DLL 中存在很多未解析的依赖项。我承认我有点不知所措,并没有继续自己挖掘来找出满足依赖关系所需的每个 DLL。但它开始感觉非常hacky,因为其中许多安装在 C:\Windows 下,并且不存在于我的 Visual Studio 可再发行文件夹中。
无论如何,有人可以帮忙吗?
令人惊讶的是,这并没有作为重复项关闭。我讨厌留下悬而未决的问题。所以我自己回答这个问题,说 codestation 的评论链接到这个问题 https://stackoverflow.com/questions/32601941/msvc-2015-universal-crt-for-app-local-deployment哪个链接到本文 https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/其中描述了如何在以粗体红色文本开头的部分中执行此操作。
你不应该对此投赞成票。对链接问题中的答案进行投票。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)