Visual Studio 2019可以将所需的DLL打包在一个小的.exe文件中吗?

刘S

我使用Visual Studio 2019使用C ++ WinAPI制作了Windows应用程序。完成后,我将其构建并在计算机上执行。完美运作。然后我发给了没有Visual Studio的朋友。它说,需要打开“ msvcp140d.dll”,“ ucrtbased.dll”,“ vcruntime140_1d.dll”和“ vcruntime140d.dll”。

然后,我在计算机中找到它们,并将它们与应用程序放在同一目录中,然后将其发送给我的朋友。它也很好。

但是我的问题是“有没有办法将它们与Visual Studio 2019打包在一起?” 一个带有大量DLL的小型应用程序有点奇怪。

phuclv

首先,您发送的文件错误。带有d后缀的文件用于调试不得分发

您不能重新分发Visual Studio中包含的所有文件;不能将其分发。仅允许您重新分发Redist.txt或在线“ REDIST列表”中指定的文件。无法重新分发应用程序的调试版本和各种Visual C ++调试DLL。有关更多信息,请参见选择部署方法。

确定要重新分发的DLL

最终的可执行文件必须在发布模式下进行编译,并使用这些DLL的发布版本。不要放弃调试二进制文件。由于用于调试目的而添加的逻辑,它们的运行速度非常慢

而且您实际上不需要发送DLL,但是您应该告诉用户安装相应的VC可再发行软件包这是运行时CRT为Visual Studio项目包含的功能一样)printfmemcpy......你。如果您在项目中不使用任何DLL,则无需查找任何其他DLL。

它也可以在运行时库链接静态通过更改选项/MD/MT这样,最终的exe文件将是自包含的(不需要其他运行时DLL),但是它也将变得更大,并且在更新软件包以修复错误或性能问题时,您也失去了使用较新的库功能的能力。同样,无论是静态链接还是动态链接,都必须以发布模式进行编译

也可以看看

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我可以在一个终端中使用Visual Studio Code中的多个文件吗?

Visual Studio 2019中需要Dumpbin.exe,editbin.exe软件包吗?

我可以在Visual Studio中将SSIS包构建为.exe文件吗

无法将matlab.exe进程附加到Visual Studio 2013以调试mex文件吗?

Visual Studio 2010 在 exe 中包含文件

更新到 2020 年 5 月版本后无法在 Visual Studio 2019 中创建 .exe 文件

在Visual Studio 2019中无法将文件更改与特定提交进行比较吗?

无法在 Visual Studio 2019 中打开文件

如何转到Visual Studio中的最后一个文件?

如何在Visual Studio 2019中仅编译一个C文件?

Visual Studio 2013可以从.less文件生成CSS文件吗?

您可以在 Visual Studio 代码中替换所有打开文件中的变量及其值吗?

Visual Studio 2019 中的 ThreadSanitizer

Visual Studio 2019 是否可以将文件输出为大写?

在DLL的Visual Studio实例中放置断点,并在.exe中*

无法在Visual Studio中安装Visual Studio 2019的PostSharp工具

你可以在 Visual Studio 中開發 Desktop(.exe) 嗎?

我可以在Visual Studio的剃刀文件中删除“突出显示”吗?

我可以在Visual Studio中十六进制编辑文件吗?

在配置文件中可以使用Visual Studio变量吗?

无法在Visual Studio 2017中复制文件.exe

在Visual Studio中建立单个小型exe文件的问题

Visual Studio 的解决方案文件中的值是唯一的吗?

使用 Visual Studio 2019 构建的 EXE 给出“DLL 入口点”错误,但将 EXE 列为 DLL?

如何在Visual Studio 2019中为窗口表单应用程序创建setup.exe文件?

Visual Studio - 有没有办法在 Visual Studio 2019(IDE,而不是 vscode)中的文件末尾插入一个空行?

Android 9.0是Visual Studio 2019中的目标Android版本吗?

Visual Studio 2019中缺少std :: aligned_alloc()吗?

我可以在同一个项目 (Visual Studio 19) 中有多个 C 源文件吗?