您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > Qt动态发布+静态库的和安装配置-修正
Qt静态库的下载和安装配置(QML/QtQuick修正)(2015.03.31byWinland)在Windows下使用Qt开发最后都是要发布程序的,Qt官方的库都是动态链接库,如果发布就需要一大堆的dll,而且还要记得复制plugins/platforms里面的插件,如果用到各种格式图片还要plugins/imageformats里面的插件,所以东西会越弄越多。针对Windows部署基于Qt的软件,Qt官方有专门文档:对于动态版本程序发布,官方Qt库里面也带了专门部署工具:QTDIR/bin/windeployqt,这个本人也没用过,感兴趣的可以自己试试。/********************************补充动态发布步骤*****************************/Qt官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。因此Qt官方开发环境里自带了一个工具:windeployqt.exe。以官方Qt5.4.0+MinGW开发环境为例,从开始菜单--》Qt5.4.0--》5.4--》MinGW4.9(32-bit)--》Qt5.4forDesktop(MinGW4.932bit),可以打开Qt命令行,从这里就可以执行windeployqt工具。集成开发环境QtCreator目前生成图形界面程序exe大致可以分为两类:QtWidgetsApplication和QtQuickApplication。下面分别介绍这两类exe的发布方式。1、QtWidgetsApplication可执行程序发布方式首先用QtCreator新建一个QtWidgetsApplication项目,直接用默认的QMainWindow程序就可以了,项目名字假定是hellomw。然后以Release方式编译生成exe程序:生成的程序运行正常之后,找到项目的生成目录,比如项目源码路径:C:\QtPros\hellomw\它的项目生成目录是C:\QtPros\build-hellomw-Desktop_Qt_5_4_0_MinGW_32bit-Release\进入这个文件夹,在进入它的子文件夹release里面,找到hellomw.exe,将这个exe复制到一个新的单独的文件夹里用于发布,比如存到D:\hellomw\文件夹里面。然后从开始菜单打开Qt命令行,输入命令:cd/dD:\hellomw然后使用windeployqt工具命令:windeployqthellomw.exe然后可以在D:\hellomw文件夹里看到windeployqt工具自动复制的插件文件夹和dll文件、qm文件。这时候得到的就完整的exe程序发布集合,依赖关系都解决好了。把D:\hellomw文件夹打包就可以发布了,不用自己一个个找dll文件了。D:\hellomw文件夹里的qm文件是多国语言翻译文件,不需要可以删了,其他的都保留。2、QtQuickApplication发布方式首先用QtCreator新建一个QtQuickApplication项目,直接用默认的项目模版,点击下一步生成项目,项目名字假定是helloqml。然后以Release方式编译生成exe程序:然后找到项目的构建目录,比如项目源码目录C:\QtPros\helloqml,它的构建目录是:C:\QtPros\build-helloqml-Desktop_Qt_5_4_0_MinGW_32bit-Release\进入这个目录,再进入release子文件夹,找到helloqml.exe,复制到一个新的单独的文件夹里面,比如D:\helloqml\文件夹里面。然后从开始菜单打开Qt命令行,进入D:\helloqml\文件夹:cd/dD:\helloqml然后使用windeployqt工具命令:windeployqthelloqml.exe--qmldirC:\Qt\Qt5.4.0\5.4\mingw491_32\qml注意不要跟烧包一样照抄上条命令,--qmldir是指出Qt库里面的qml文件夹位置,上面命令里C:\Qt\Qt5.4.0是Qt官方开发环境安装的文件夹,C:\Qt\Qt5.4.0\5.4\mingw491_32是Qt类库的目录(QTDIR),因此使用的--qmldir后面写的是C:\Qt\Qt5.4.0\5.4\mingw491_32\qml读者Qt环境安装路径不一样,要根据实际情况修改!然后可以看到D:\helloqml文件夹里有一大堆文件,就是QtQuick程序需要的依赖文件。将整个D:\helloqml文件夹打包就可以发布出去,在别的电脑上使用。这个D:\helloqml文件夹里的东西很多,看不懂就不要删,老老实实打包发布就行了。上面是最简单的程序发布,实际复杂程序可能还带一些图片文件、数据库文件、配置文件之类的,可以按自己需要添加这些文件到发布文件夹里面。/****************************************************************************/本文主要讲Qt静态库的下载、安装和配置使用。使用静态Qt编译的程序只需要一个exe文件,就可以走遍天下都不怕。可以自己根据Qt的源代码编译自己的静态版本Qt库,但这个过程非常耗费时间,而且如果有问题还要重新编译,比较麻烦。幸好网上有现成编译好的静态库,所以给新手和懒人提供了方便。一、QtStaticBuilds下载在网上寻找Qt静态库,就搜索QtStaticBuilds,目前找到两个地方有:://github.com/fostersoftware/QtStaticWindows第一个是SourceForge上的项目,第二个是GitHub上的项目,这两个网站希望新手记牢了,以后要找好东西都可以去这两个网站。GitHub上面的QtStaticWindows比较新,是5.3.2版本的,所以就选这个来做教程示范。从GitHub网站下载东西,可以直接点击网页右边“DownloadZIP”但是这个下载可能比较卡比较慢,也可能挂掉。推荐的是安装git工具,新建QtStatic目录,在该目录里执行命令:gitclone然后等待下载完成,文件就会出现在QtStaticWindows子目录里面。国外网站速度慢正常,所以本人打包好了一个放在百度网盘分享:位于QtSDK/QtStatic/QtStaticWindows5.3.2.7z从百度网盘下载即可。QtStaticWindows5.3.2.7z里面仅仅包含静态编译的Release版Qt库,仅用于生成程序发布,不便于调试,这个文件里面也没有开发环境,仅仅是一个库。所以要配合Qt官方的开发环境来使用,集成到官方QtCreator里面用。目前Qt最新的官方开发环境下载页面:下载MinGW版本:qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe也可以从刚才的网盘链接下载:位于QtSDK/Qt5/qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe安装官方Qt开发环境时,记得把全部组件都选中安装!二、Qt静态库安装1、Qt官方开发环境安装运行qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe点击下一步,可以使用默认路径,如果C盘空间不够就装其他盘根目录。点击下一步,选择组件界面里,默认没有选中源代码组件和MinGW编译调试环境,点击“全选”按钮,把所有组件都选中(Tools/MinGW4.9.1必须要装),点击下一步,选择agree,点击下一步,这是开始菜单设置,点击下一步,点击安装,等待安装完成,点击下一步,点击完成,会打开QtCreator。把QtCreator最小化,等会配置。2、QtStaticWindows安装将QtStaticWindows5.3.2.7z直接解压到比如C:\Qt,也可以放在其他分区。这时候qmake.exe位置是:C:\Qt\QtStaticWindows\5.3.2\bin\qmake.exe检查C:\Qt\QtStaticWindows\5.3.2\bin\有没有qt.conf文件,从GitHub直接下载的QtStaticWindows是没有qt.conf文件,如果bin目录没有,那么从C:\Qt\Qt5.4.0\5.4\mingw491_32\bin目录复制一个到静态库的bin目录。三、Qt静态库的配置1、QtVersions配置Qt官方开发环境和静态库都安装了,还要把静态库集成到QtCreator里面。打开QtCreator的菜单“工具”--》“选项”,然后对话框左边选择“构建和运行”,在构建和运行页面,右边选择“QtVersions”,点击右上角“添加”,会弹出查找qmake.exe的对话框,找到刚才装的C:\Qt\QtStaticWindows\5.3.2\bin\qmake.exe点击确定,就看到新的Qt库:点击右下角Apply按钮,应用配置。注意一个问题,如果静态库bin目录没有qt.conf文件,会出现如下错误:Qt没有被正确安装,请运行makeinstall可以按照:修复问题,或者按照前面说的复制一个qt.conf到静态库bin目录,然后重新尝试添加静态库。2、构建套件(Kit)配置还是刚才的配置对话框,在构建运行配置页面,点击“构建套件(Kit)”,点击右上角“添加”,修改名称为QtStatic,修改Qt版本为刚才添加的Qt5.3.2(5.3.2),编译器就用默认的MinGW,调试器用默认的gdb。然后点击“Apply”按钮,再点击“OK”。3、新建项目测试打开QtCreator菜单“文件”--》“新建文件或项目”,选择QtWidgetsApplication,点击“Choose”,用默认的路径,点击下一步进入KitSelection两个都选上,第一个是官方Qt库,第二个是Release版静态Qt库。然后点下一步,点完成。进入代码编辑主界面:点击左下角倒数第三个图标,就是纯三角形那个,就可以生成程序并运行。点击左下角Debug字样,会弹出编译套件选择和编译版本选择:一般使用官方Qt库的Debug版本编译并调试程序,在确认没有问题之后,选择QtStatic+Release编译方式,生成可发布的exe程序。比如上面例子的就在项目路径..\build-untitled-QtStatic-Release\release\untitled.exe这里生成的是14.1MB,直接双击可以运行,不需要配置依赖,也没什么依赖。4、(可选)压缩exe后再发布如果嫌14.1MB还大,那就用UPXShell压缩一下,压缩之后只有7.38MB,也是可以独立运行的,可以无脑发布了。工具UPXShell也放到之前的百度网盘分享里面,读者可以试试看。四、QML/QtQuick程序问题修正按照上面安装方式,新建的QtQuickApplicaition编译能够成功,运行时会出错,报错为:QQmlApplicationEnginefailedtoloadcomp
本文标题:Qt动态发布+静态库的和安装配置-修正
链接地址:https://www.777doc.com/doc-2854627 .html