1

我有一个 C++ 项目,用Visual Studio 2017. 早些时候,它是Visual Studio 2015vcredist 2015.

当我现在想发布现在用 编译的库时,Visual Studio 2017我一定要发布它vcredist 2017吗?

替代问题:在什么情况下我需要运送我的图书馆vcredit 2017

4

2 回答 2

1

打开 Visual Studio 的开发人员命令提示符。转到包含您的二进制文件的文件夹。跑:

dumpbin /imports yourprogram.exe | find "dll"

如果这是您的构建目标,您可以对 .dll 执行相同的操作。如果结果包含任何 Visual Studio 2017 DLL(MSVCP140.dll、VCRUNTIME140.dll 等),那么您的程序需要运行 DLL,因此需要运行 redist。

于 2018-05-16T12:39:29.843 回答
1

您始终必须将已编译的应用程序与已使用的编译器版本的 redist 一起发布。

例外情况是当您使用运行时的静态版本编译应用程序时 - 这基本上意味着您的应用程序中已经存在 redist。

如果任何其他依赖项是使用动态运行时编译的,您仍然需要随 redist 一起发布。

于 2018-05-16T12:41:16.973 回答