Qt應用打包發(fā)布流程Windows && Linux

在Qt的使用過程中,我們會發(fā)現(xiàn)Qt的的執(zhí)行文件在Qt的IDE中是可以直接Build出來并執(zhí)行產生效果的,但是如果直接在編譯文件夾下找到該執(zhí)行文件運行或是要提供給第三方人員使用的時候,執(zhí)行文件卻不能直接使用,會有各式各樣的庫文件缺失等問題,以下是Qt在Windows與linux環(huán)境下的執(zhí)行文件打包流程。

Windows

工具需要

1 windeployqt(Qt自帶,無需安裝)
2 Enigma Virtual Box(需下載安裝)


處理流程

1 通過Qt Creator編譯出執(zhí)行文件
2 在執(zhí)行路徑下找到編譯出的執(zhí)行文件



3 將執(zhí)行文件拷貝到一個空文件夾中



4 通過Windows開始菜單找到Qt5.x.x for DeskTop(MinGw)并運行

5 在Qt的命令行中跳轉至之前exe拷貝到的文件夾路徑


6 輸入命令 :windeployqt 程序名

  • 至此,經(jīng)過windeployqt將執(zhí)行文件所需的所有庫文件都拷貝至執(zhí)行文件路徑,執(zhí)行文件已經(jīng)可以正常運行,接下來只要將庫文件包括執(zhí)行文件一起封裝打包即可。


    7 運行Enigma Virtual Box并選擇執(zhí)行文件導入

    8 將庫文件添加到打包文件中

    9 點擊Process按鈕

    10 run測試運行打包出來的執(zhí)行文件,close關閉

    11 至此,打包出的執(zhí)行文件就是可以完全脫離環(huán)境依賴運行的程序,可以發(fā)給第三方人員使用

Linux

工具需要

shell腳本收集執(zhí)行文件相關庫文件:

#!/bin/bash
/*asa server為目標執(zhí)行文件*/
LibDir=$PWD"/lib"
$(mkdir $LibDir)
lib_list=`ldd asaServer | awk '{print $3}'`
for var in $lib_list
do
    cp $var $LibDir
done

處理流程

與Windows基本一致

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容