Linux下QT程序打包
? ? ? ? 網(wǎng)上有關(guān)QT程序打包的教程大多都是Windows下的教程,有關(guān)Linux下QT程序打包的教程很少,而且大多說的不是很詳細(xì),在這里我整理了以下有關(guān)Linux下QT程序打包的方法,僅供大家參考學(xué)習(xí),有關(guān)Windows下QT程序打包的方法可以看我另一篇博客“QT項(xiàng)目超詳細(xì)打包教程。
? ? ? ? 目前我接觸到的Linux下的QT程序打包方法主要有兩種:第一種:通過腳本進(jìn)行打包,這種方法簡(jiǎn)單方便,但是通過這種方式打包的QT程序,并不能放到另一臺(tái)干凈的Linux系統(tǒng)下運(yùn)行,所以不太推薦;第二種:通過Linuxdeployqt進(jìn)行打包,通過這種方法打包QT程序也很方便,而且打包的程序可以放到任何Linux環(huán)境下直接運(yùn)行。下面我將詳細(xì)介紹以下兩種打包方式,大家可以根據(jù)自己的實(shí)際使用情況任意選擇打包方式。
前提準(zhǔn)備
? ? ? ?1. 不管通過那種打包方式進(jìn)行QT程序打包,都要先通過release編譯執(zhí)行生成目標(biāo)可執(zhí)行文件。
? ? ? ? 2.新建test文件夾(可以是任意文件夾)。
? ? ? ? 3.找到release生成的可執(zhí)行文件,并將其復(fù)制一份到我們新建的test文件夾。生成的可執(zhí)行文件一般就存在于我們項(xiàng)目目錄中的release文件夾下面的bin目錄下。?下面是我的路徑以及可執(zhí)行文件。
一、通過腳本打包
? ? ? ? 1.在我們新建的test文件夾下新建pach.sh腳本。
? ? ? ? ?腳本內(nèi)容如下:其中exe后邊的內(nèi)容就收我們的可執(zhí)行文件名稱,des后邊的內(nèi)容就是我們test文件夾所在的路徑,其他內(nèi)容都不需要改變。
#!/bin/sh
exe="FiberConfigTool"
des="/臨時(shí)文件/test/"
deplist=$(ldd $exe|awk '{if (match($3,"/")){printf("%s "),$3}}')
cp $deplist $des
? ? ? ? 2.賦予腳本權(quán)限
? ? ? ? ?3.執(zhí)行pach.sh腳本,通過執(zhí)行腳本可以將可執(zhí)行程序依賴的庫(kù)都方到test文件夾下。
? ? ? ? 4.新建FiberConfigTool.sh腳本,并賦予權(quán)限(可以是任何名稱,建議命名為可執(zhí)行文件的名稱)。
? ? ? ? 腳本內(nèi)容如下:只需要修改appname后面的內(nèi)容為我們的可執(zhí)行文件名稱即可,其他的不需要改變。
#!/bin/sh
appname=FiberConfigTool #要運(yùn)行的程序名
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"
? ? ? ? ?5.運(yùn)行FiberConfigTool.sh腳本運(yùn)行程序即可,到此通過腳本打包完畢。
?二、通過linuxdeployqt進(jìn)行打包
? ? ? ? 1.下載linuxdeployqt:https://github.com/probonopd/linuxdeployqt/releases
? ? ? ? 2.將下載下來的linuxdeployqt-x86_64.AppImage重命名為linuxdeployqt,之前的名字太長(zhǎng),看著別扭。
? ? ? ? 3.?賦予linuxdeployqt權(quán)限
? ? ? ? 4.將修改好的linuxdeployqt放到/usr/local/bin目錄下,這樣我們?cè)谌魏蔚胤蕉寄軌蜻\(yùn)行?linuxdeployqt。
? ? ? ? ?5.測(cè)試linuxdeployqt是否安裝成功,出現(xiàn)以下內(nèi)容表示安裝成功。
? ? ? ? ?6.修改文件bashrc文件
? ? ? ? 在bashrc文件最后追加以下內(nèi)容:其中/opt/qtcreator-4.14.0/bin是QT的安裝路徑修改成自己的即可。
#add qt env
export PATH=/opt/qtcreator-4.14.0/bin/:$PATH
export LIB_PATH=/opt/qtcreator-4.14.0/bin/lib:$LIB_PATH
export PLUGIN_PATH=/opt/qtcreator-4.14.0/bin/plugins:$PLUGIN_PATH
export QML2_PATH=/opt/qtcreator-4.14.0/bin/qml:$QML2_PATH
? ? ? ? 不知道自己QT安裝路徑的可以通過下面方法獲?。簑hereis qt
? ? ? ? ?7.使用source命令讓bashrc文件立即生效
? ? ? ? 8.測(cè)試環(huán)境變量,查看是否正確,看到qmake版本表示正確。
? ? ? ? 9.拷貝依賴文件,如有報(bào)錯(cuò)直接忽略等待命令執(zhí)行完畢即可。
? ? ? ? 10.?切換到新建的test文件夾下,執(zhí)行可執(zhí)行文件,查看是否打包成功,到此通過linuxdeployqt打包完畢。文章來源:http://www.zghlxwxcb.cn/news/detail-597086.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-597086.html
到了這里,關(guān)于Linux下QT程序打包的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!