C++ Qt应用程序部署
使用Qt部署应用程序需要哪些dll文件?我所说的“必需”是指所有应用程序(而不是整个dll文件夹)所共有的应用程序。msvr120.dll和msvc120.dll是否也必需?感谢进一步的回答。在这种情况下,她是你最好的朋友。 简而言之,这取决于您在项目中使用了多少Qt模块 检查项目文件,例如:C++ Qt应用程序部署,c++,qt,C++,Qt,使用Qt部署应用程序需要哪些dll文件?我所说的“必需”是指所有应用程序(而不是整个dll文件夹)所共有的应用程序。msvr120.dll和msvc120.dll是否也必需?感谢进一步的回答。在这种情况下,她是你最好的朋友。 简而言之,这取决于您在项目中使用了多少Qt模块 检查项目文件,例如: QT += core gui script 那你就需要 QtCore4.dll/Qt5Core.dll(用于调试的QtCored4.dll/Qt5Cored.dll) QtGui4.dll/
QT += core gui script
那你就需要
QtCore4.dll/Qt5Core.dll(用于调试的QtCored4.dll/Qt5Cored.dll)QtGui4.dll/Qt5Gui.dll
QtScript4.dll/Qt5Script.dll 可在Qt目录下的bin文件夹中找到
至于msvr120.dll和msvc120.dll。如果用户的Windows系统没有这些DLL,您也可以分发它们(例如,旧版本的Windows XP,但我不确定这些DLL是否在旧版本的Windows中工作)Windows Qt安装包括
windeployqt.exe
部署帮助程序,它将复制Qt
(如果您使用它,MinGW
)库.dll
s。检查您的Qt安装目录,它与qmake.exe
cmd
中的基本用法:(将发布版本的--debug
替换为--release
)
除了必需的.dll
文件外,它还将为所有内容提供可选插件、翻译文件和配置文件。您可以稍后删除不需要的文件和upx
其余文件
这里的附加信息:(感谢peppe的链接)<代码>windeployqt.exe位于页面底部
注意:它不能部署
MSVC
运行库。您需要一个可重新分发的DLL,这样您就可以在安装程序中以静默方式安装它们。这取决于您使用的Qt模块。必要的DLL是您链接应用程序的DLL。您应该将它们与您的可执行文件一起分发,因为您不能期望任何人安装Qt DLL。关于Windows部署的内容非常全面。这只是故事的一部分。然后您需要平台插件,可能需要其他Qt插件(图像、数据库等),可能需要MSVC运行时,可能需要ANGLE libs(因此也需要d3d libs),等等。@peppe Yeah。我只是提出一个一般情况。在任何情况下,使用Dependency Walker都是最可靠的方法。@Tay2510不幸的是,这不是一个通用的解决方案(不仅仅是因为dependens.exe很旧而且有缺陷)。它不会显示所有Qt依赖项。无论出于什么原因,插件中都有很多功能,即使它们看起来像普通DLL,它们也不是,并且不会出现在exe的导入中,因此,Dependes没有机会看到它们。@TamásSzelei当您指定评测.exe
时,它可以看到插件。它将查找LoadLibrary
调用和延迟加载,并显示它们。请检查我的PowerShell脚本以自动执行搜索:QtXCore.dll
与Qt 4中的文件名不匹配。例如,我们在那里有QtCore4.dll
或QtGui4.dll
。windeployqt.exe
听起来不错。Qt5是唯一的吗?@Tay2510它是与android部署器一起添加的
mkdir Deploy
copy /y /path/to/exe Deploy
cd Deploy
windeployqt.exe --debug Prog.exe