久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Qt 應(yīng)用程序在統(tǒng)信UOS(arm平臺)上打包發(fā)布

 wuxinit_ 2024-11-06

一,、前言

最近在做Qt windows程序在統(tǒng)信uos電腦(arm64)上適配的需求,,經(jīng)過一個多星期的努力,程序可以運行起來,,到了打包發(fā)布環(huán)節(jié),,產(chǎn)品經(jīng)理希望用戶可以像windows平臺那樣,可以一鍵安裝程序,,并且桌面生成快捷方式,。

經(jīng)過不斷地摸索,最后終于實現(xiàn)了,,現(xiàn)在把uos平臺程序打包發(fā)布的過程記錄下來,,供大家參考!

二,、linuxdeployqt下載安裝

windows系統(tǒng)有自動拷貝依賴的工具windeployqt,,而linux系統(tǒng)也有個類似的工具,叫l(wèi)inuxdeployqt,,uos系統(tǒng)是arm平臺,也可以用linuxdeployqt工具拷貝程序依賴庫,。

1,、下載安裝linuxdeployqt

如果是linux平臺的朋友,可以直接下載已經(jīng)編譯好的linuxdeployqt-x86_64.AppImage,,我在uos本也想直接下載這個安裝,,但是在安裝的過程中會報格式錯誤,所以,,uos平臺的,,還是需要下載源碼,自己編譯安裝,。

如果是linux平臺,,可以只能下載編譯好的應(yīng)用程序文件:

https://github.com/probonopd/linuxdeployqt/releases
在這里插入圖片描述
下載完成之后,修改一下名字:

mv linuxdeployqt-6-x86_64.AppImage linuxdeployqt

修改執(zhí)行權(quán)限:

chmod 777 linuxdeployqt

再把這個可執(zhí)行文件扔進/usr/local/bin目錄,這樣,,我們就可以在其他目錄訪問了

mv linuxdeployqt /usr/local/bin
如果是uos系統(tǒng),,需要源碼編譯安裝
源碼下載:https://github.com/probonopd/linuxdeployqt
下載完成后,屏蔽版本信息:

修改源碼,,去掉版本檢查,,這個一步不做會導(dǎo)致打包輸出錯誤的信息:
下載完成之后,修改文件夾下 tools/linuxdeployqt/main.cpp
屏蔽代碼如下:

        /*if (strverscmp (glcv, "2.28") >= 0) {
            qInfo() << "ERROR: The host system is too new.";
            qInfo() << "Please run on a system with a glibc version no newer than what comes with the oldest";
            qInfo() << "currently still-supported mainstream distribution (Ubuntu Bionic), which is glibc 2.27.";
            qInfo() << "This is so that the resulting bundle will work on most still-supported Linux distributions.";
            qInfo() << "For more information, please see";
            qInfo() << "https://github.com/probonopd/linuxdeployqt/issues/340";
            return 1;
        }*/
源碼編譯:

用Qt creater 打開 tools/linuxdeployqt/linuxdeployqt.pro
選擇Release模式,,進行編譯,,編譯完成之后,在tools 同級目錄下,,會生成bin目錄,,bin目錄里會生成可執(zhí)行文件linuxdeployqt

將linuxdeployqt拷貝到/usr/local/bin:

sudo chmod linuxdeployqt
sudo -p linuxdeployqt /usr/local/bin/
測試是否安裝成功

終端輸入:

linuxdeployqt --version

如果顯示版本信息,說明linuxdeployqt 安裝成功,。

三,、利用linuxdeployqt拷貝依賴文件

這之前這命令之前,你要先配置qt的環(huán)境變量,,
終端輸入vim ~/.bashrc命令,,修改 .bashrc 文件,在文件末尾追加以下內(nèi)容,,其中/home/zlkj/technology/5.9.7是我的Qt安裝路徑,,大家要用自己的路徑代替:

#add QT ENV
export PATH=/home/zlkj/technology/5.9.7/gcc_64/bin:$PATH
export LD_LIBRARY_PATH=/home/zlkj/technology/5.9.7/gcc_64/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/home/zlkj/technology/5.9.7/gcc_64/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/home/zlkj/technology/5.9.7/gcc_64/qml:$QML2_IMPORT_PATH

生效配置:

source ~/.bashrc

測試qt環(huán)境變量配置是否生效:查看qmakea版本號

qmake -v

設(shè)置成功之后:
新建文件夾,最好是你的應(yīng)用程序命名
拷貝你要打包的應(yīng)用程序的執(zhí)行文件到該文件夾下:
然后執(zhí)行命令:

linuxdeployqt XXXX -appimage

XXX: 為可執(zhí)行程序名字

等待命令執(zhí)行完畢,,如果終端報錯如下,,可忽略,如果是其他問題,,根據(jù)實際問題具體解決:
在這里插入圖片描述
如果命名執(zhí)行成功之后,,你會看到目錄下會多幾個文件夾及文件,lib目錄存放應(yīng)用程序的依賴,,然后你可以把程序依賴其他動態(tài)庫也放到lib目錄下,。
可以通過 ldd xxx命令查看依賴的動態(tài)庫

最后把應(yīng)用程序依賴的其他文件拷貝到當(dāng)前文件夾下
qml依賴庫:放在qml文件夾下
所用到的插件:放在plugins文件夾下

然后雙擊應(yīng)用程序,或者AppRun測試程序是否可以正常運行
自此,,利用linuxdeployqt進行程序的打包發(fā)布就完成了,。

四、打包成deb安裝包

利用linuxdeployqt打包的程序是一個文件夾的形式,,用戶進入文件夾找到可執(zhí)行程序或者運行腳本才可以啟動程序,,對于用戶體驗不夠友好,那有沒有像windows平臺那樣,,直接雙擊就可以安裝,,并且會在桌面生成快捷方式的呢,? 答案是有的,那就是uos官方提供的*.deb的形式
我們下篇詳細介紹~

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多