Lau*_*hoo 8 c dll software-distribution visual-studio
我使用Visual Studio 2019用C++ WinAPI做了一个Windows应用程序,完成后,我构建了它,并在我的电脑上执行。它完美地工作。然后我发给了我没有 Visual Studio 的朋友。它说它需要“msvcp140d.dll”“ucrtbased.dll”“vcruntime140_1d.dll”“vcruntime140d.dll”来打开它。
然后我在我的电脑中找到它们,将它们与我的应用程序放在同一个目录中,然后将它们发送给我的朋友。它也工作得很好。
但我的问题是“有没有办法只用 Visual Studio 2019 打包它们?” 包含大量 DLL 的小应用程序有点奇怪。
首先,您发送了错误的文件。带有d类似后缀的文件仅用于调试,不得分发
您不能重新分发 Visual Studio 中包含的所有文件;您只能重新分发 Redist.txt 或在线“REDIST 列表”中指定的文件。应用程序的调试版本和各种 Visual C++ 调试 DLL 不可再分发。有关更多信息,请参阅选择部署方法。
最终的可执行文件必须在发布模式下编译并使用这些 DLL 的发布版本。不要发布调试二进制文件。由于为调试目的添加的逻辑,它们非常慢
而且您实际上不需要发送 DLL,但您应该告诉用户安装相应的VC 可再发行组件包。它是Visual Studio 项目的运行时( CRT ),其中包含printf, memcpy...等功能。如果您在项目中不使用任何 DLL,则不需要查找任何其他 DLL
它也可以在运行时库链接静态通过更改选项/MD来/MT。这样,最终的 exe 文件将是独立的(不需要额外的运行时 DLL),但它也会更大,并且当包更新以修复错误或性能问题时,您将无法使用较新的库函数。同样,无论您是静态链接还是动态链接,您都必须在发布模式下进行编译
也可以看看
| 归档时间: | 
 | 
| 查看次数: | 4459 次 | 
| 最近记录: |