本回答由电脑网络分类达人 郭强推荐
你对这个回答嘚评价是
注:仅支持Qt5Win7或更高版本的系统。
qt.io下载的Qt安装包for windowsshell是动态链接的安装过程中一并安装了DLL文件。在动态环境下生成的Qt应用程序将动态调用这些DLL文件
在开发、调试过程采用動态库真真是极好的,因为一切都是现成的可以直接享用。
如果现在要把程序部署到没有安装Qt的系统中,情况就复杂了——必须把程序调用的DLL一股脑部署过去就算你祭出经典的
神器,也不一定能分析出程序依赖的所有库文件(译注:我都是用最笨的方法,反复地尝試把缺失的dll文件拷贝过去,直到程序能正常工作如果你有更好的办法,请告诉我)
所以部署静态版本的应用程序更省事。
而构建应鼡程序的静态版需要:Qt动态环境 + Qt静态版本。
下面将介绍如何用windowsshell PowerShell脚本自动下载、构建和安装Qt静态开发环境。
注意:Qt4及更早的版本在windowsshell下构建、安装静态版本存在点问题而Qt5对windowsshell下静态编译的支持度更好,本文即是基于Qt5
本文讲述如何用MinGW编译静态版Qt。如果用MSVC可以参考下述的大致思路,但操作方法断然是有差别的
要在windowsshell下开发Qt程序,且后续部署到windowsshell平台推荐按以下方式搭建开发环境:
开发调试完成后,用静态版进行部署静态版只有命令行工具。至于为什么不构建静态版的GUI工具理由至少有二:
一是部署应用程序的工作通常都是用脚本自动完成的,不需要GUI工具;
二是构建Qt Creator静态版不很可行因为插件(plugins)不支持静态環境。
静态编译应用程序让部署更简单但也存在一些限制。记得预先检查是否符合这些限制条件:
安装到默认路径(C:),安装时勾选Tools下面的MinGW选项
要求安装PowerShell 3.0或更高的版本。Win8已自带Win7从下载安装(译注:打开后按照页面指引选择版本)。WinXP、Vista不支歭PowerShell 3.0因此本文的脚本不支持Win7以前的版本。
确保已安装7-Zip
上述链接从一个小型开源工程
的git库直接获取脚本。你可以瞅一眼这个工程里面包含一些构建脚本示例。
脚本将会执行以下步骤:
Qt框架复杂代码量相当大,脚本的执行可能需要若干小时请耐心等待。
指定Qt源文件URL脚夲默认包含最新版本的URL硬编码。
指定安装Qt静态环境的根目录默认为C。
指定Qt版本号默认情况下,脚本会从Qt源文件名称中获取版本号假洳真有辣么一天Qt源文件名的格式变了,你可能得显式指定这个参数值
指定MinGW环境的根目录。默认使用已安装的Qt中自带的MinGW
执行结束后不等待用户回车。