C++ 如何部署使用MSCV编译的Qt应用程序,以使其赢得';是否安装了neet vc_redist?

C++ 如何部署使用MSCV编译的Qt应用程序,以使其赢得';是否安装了neet vc_redist?,c++,qt,visual-c++,vcredist,C++,Qt,Visual C++,Vcredist,有没有办法部署使用MSVC编译的Qt桌面应用程序,使其“可移植”(只需从文件夹运行exe,不安装任何东西,甚至不安装VC_redist) 当然,如果微软Visual C++可重新分配安装在目标计算机上,它可以使用它,但是否可以在不安装它的情况下运行(例如,将VDCISDT中的一些DLL放到应用程序的文件夹中)?< /P> < P>如果你静态地构建/链接你的应用程序,你将只有1。exe,没有DLL。第二种方法是使用共享库构建应用程序,在运行时,应用程序将在路径和当前目录中搜索这些DLL,因此您只需

有没有办法部署使用MSVC编译的Qt桌面应用程序,使其“可移植”(只需从文件夹运行exe,不安装任何东西,甚至不安装VC_redist)


当然,如果微软Visual C++可重新分配安装在目标计算机上,它可以使用它,但是否可以在不安装它的情况下运行(例如,将VDCISDT中的一些DLL放到应用程序的文件夹中)?< /P> < P>如果你静态地构建/链接你的应用程序,你将只有1。exe,没有DLL。第二种方法是使用共享库构建应用程序,在运行时,应用程序将在路径和当前目录中搜索这些DLL,因此您只需将所有需要的DLL放在此文件夹中。如何管理Qt库?

正如您所评论的,您可以使用windeployqt添加与Qt相关的DLL和资源。至于其他必需的DLL,您可以使用查找它们并手动将它们复制到应用程序文件夹中,包括MSVC DLL


PS:我知道手动复制那些DLL效率低而且容易出错。这就是我问的原因,但我还没有找到一个足够聪明的工具来自动完成这项工作。您可以尝试注释中提到的那些工具,例如。

如果您可以静态链接到MSVC/C++运行时,您应该能够在没有DLL的情况下分发。我认为这是在代码生成中。在运行库区域中。对于调试,选择“多线程调试”,对于发行版,选择“多线程”作为Qt库,我使用windeployqt将这些DLL添加到应用程序的文件夹中。我可以对MSVC DLL执行相同的操作吗?所有必需的库的名称是什么?我找到了:msvcp140.dll、msvcp140_1.dll、msvcp140_2.dll、vcruntime140.dll和vcruntime140_1.dll。就这些吗?(它工作了,但在任何计算机上都能工作吗?)