Qt系列文章目錄
前言
我們?cè)赒tCreator下面開發(fā)程序,一般都會(huì)遇到工程發(fā)布給客戶使用的情況。我們通常會(huì)使用Qt自帶的打包工具:windeployqt.exe。
windeployqt.exe是Qt自帶的工具,用于創(chuàng)建應(yīng)用程序發(fā)布包。
簡(jiǎn)單來(lái)說,這個(gè)工具可以自動(dòng)地將某程序依賴的庫(kù)、資源拷貝到其所在目錄,防止程序在其他電腦上運(yùn)行報(bào)找不到庫(kù)的錯(cuò)誤。
windwployqt.exe官方文檔
Qt for Windows-部署
本文檔描述了Windows的部署過程。我們?cè)谡麄€(gè)文檔中參考Plug&Paint示例應(yīng)用程序來(lái)演示部署過程。
Windows部署工具
Windows部署工具windeployqt旨在自動(dòng)化創(chuàng)建可部署文件夾的過程,該文件夾包含從該文件夾運(yùn)行應(yīng)用程序所需的與Qt相關(guān)的依賴項(xiàng)(庫(kù)、QML導(dǎo)入、插件和翻譯)。它為通用Windows平臺(tái)(UWP)創(chuàng)建一個(gè)沙盒,或?yàn)閃indows桌面應(yīng)用程序創(chuàng)建一個(gè)安裝樹,可以輕松地將其綁定到安裝包中。
該工具可在QTDIR/bin/windeployqt中找到。它需要在構(gòu)建環(huán)境中運(yùn)行才能正常運(yùn)行。使用Qt安裝程序時(shí),應(yīng)使用腳本QTDIR/bin/qtenv2.bat來(lái)設(shè)置它。
windeployqt將.exe文件或包含.exe文件的目錄作為參數(shù),并掃描可執(zhí)行文件中的依賴項(xiàng)。如果使用–qmldir參數(shù)傳遞目錄,windeployqt將使用qmlimportscanner工具掃描目錄中的QML文件以查找QML導(dǎo)入依賴項(xiàng)。然后將識(shí)別的依賴項(xiàng)復(fù)制到可執(zhí)行文件的目錄中。
如果Qt是在關(guān)閉configure開關(guān)relocable的情況下構(gòu)建的,則windeployqt將Qt5Core.dll中的硬編碼本地路徑替換為相對(duì)路徑。
對(duì)于Windows桌面應(yīng)用程序,默認(rèn)情況下,編譯器所需的運(yùn)行時(shí)文件也會(huì)復(fù)制到可部署文件夾中(除非指定了選項(xiàng)–no compiler runtime)。對(duì)于使用Microsoft Visual C++的發(fā)布版本,這些版本由Visual C++可再發(fā)行包組成,這些包旨在由應(yīng)用程序的安裝程序在目標(biāo)計(jì)算機(jī)上遞歸安裝。否則,將使用編譯器運(yùn)行時(shí)的共享庫(kù)。
應(yīng)用程序可能需要額外的第三方庫(kù)(例如,數(shù)據(jù)庫(kù)庫(kù)),而windeployqt沒有考慮這些庫(kù)。
一、遇到的坑
1.首先在QtCreator IDE中設(shè)置工程release
2.打包命令
我安裝的是Qt5.12.9版本,打開Qt5.12.9(MSVC 2017 64-bit)
3.
cd到的exe路徑,我的路徑是:E:\work\QtWebCannelAndMap-master\obj
4.執(zhí)行打包命令
D:\Qt\Qt5.12.9\5.12.9\msvc2017_64\bin\windeployqt.exe E:\work\QtWebCannelAndMap-master\obj\QtWebChannelAndMap.exe -qmldir D:\Qt\Qt5.12.9\5.12.9\msvc2017_64\qml
因?yàn)槲野惭b了Qt5.7和Qt5.12二個(gè)版本,所有我這里指定了windeployqt.exe的路徑,
因?yàn)橛玫搅藂ml的組件,所以特意加了一個(gè)參數(shù)指定qml的路徑:-qmldir D:\Qt\Qt5.12.9\5.12.9\msvc2017_64\qml
5.最重要的一點(diǎn)
這里一定要把qt安裝目錄下的qml復(fù)制到你的exe路徑下
一定要把qt安裝目錄下的qml復(fù)制到你的exe路徑下
一定要把qt安裝目錄下的qml復(fù)制到你的exe路徑下
重要的事敲黑板,并說三遍,之前就是遺漏了這一步導(dǎo)致打包的exe無(wú)法運(yùn)行
6.打包成功
執(zhí)行名字:D:\Qt\Qt5.12.9\5.12.9\msvc2017_64\bin\windeployqt.exe E:\work\QtWebCannelAndMap-master\obj\QtWebChannelAndMap.exe -qmldir D:\Qt\Qt5.12.9\5.12.9\msvc2017_64\qml
生成很多依賴文件
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-433798.html
二、參考
拿起鍵盤就是擼
龔建波文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-433798.html
到了這里,關(guān)于Qt windeployqt.exe 打包qml的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!