如何解决Visual C++ 构建的 .exe 需要 vcruntime140_1.dll 才能执行,这个要求可以去掉吗?
我通过 Visual Studio 构建了我的 Visual C++ 项目,并将 .exe 移动到另一个全新的 Windows 10 安装来执行。然而,执行 exe 需要 vcruntime140_1.dll
存在才能运行。
我知道这可以通过安装 C++ Redistributable 来解决,但我想知道是否可以完全删除此要求?
在运行更新时,这是否不会提供给 Windows 10 安装?是否可以针对较旧的 Redistributable,以便我的应用程序可以在更多计算机上运行而无需用户下载某些内容?
解决方法
作为操作系统一部分的零售 Visual C++ 运行时 (vcruntime*.dll
) 没有版本。它始终必须安装/部署。见Microsoft Docs。
VS 2015、VS 2017 和 VS 2019 现在有一个“二进制兼容”的特殊情况,这意味着 VS 2019 CRT 只是同一事物的最新版本。也就是说,为了既支持最新的 C++ 一致性工作,又添加了一些新的 DLL,并且对于使用 Visual C++ (2015/2017) 的旧版本构建的程序进行二进制兼容。再次参见Microsoft Docs。
vcruntime140_1.dll
专门用于 this blog post 中涵盖的新的“较小的 x64 异常处理”实现。您可以使用适用于 x64 目标的 VS 2019 工具集进行构建,但使用 /d2FH4-
关闭此功能并删除此特定依赖项。
您仍然必须让您的程序的每个用户都安装了 VS 2017 版本或更高版本的 CRT。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。