1. 程式人生 > >QtCreator程式的釋出:Windows下、Linux下。

QtCreator程式的釋出:Windows下、Linux下。

Windows下:

說明:使用Qt自帶工具“windeployqt.exe”來拷貝大部分的動態庫(*.dll),一般有以下兩種方法。

前提,將Qt編譯方式選為:Release,把編譯好的*exe檔案拷貝到一個空的資料夾下。如圖:


①(簡單、省事)在Qt的安裝目錄搜尋“windeployqt.exe”,很快就找到了。如圖:


開啟命令列,直接將windeployqt.exe和編譯好的*.exe拖入命令列,中間加一個空格,如圖:


等待片刻即可。

②設定環境變數,同樣是搜尋到windeployqt.exe後,將該檔案所在目錄加入環境變數中,如圖:



以後就可以這麼用了,如圖:


比起方法①,少了絕對路徑,可以直接輸入windeployqt即可。

到此為止,Qt程式需要依賴的大部分*.dll都複製過來了,剩下的少數*.dll手動拷貝過來就可以了。

--------------------------

Linux下:

1. 從可執行程式的檔案中拿出可執行檔案

 2. 終端下 使用ldd命令檢視需要的連線庫 例如 ldd  + 可執行檔案  

3. 把ldd查詢到的所有需要的庫匯出 

 4. 編寫.sh文件 (.sh檔案命名必須與可執行檔名字一樣 例:可執行檔名 test, .sh 檔名為 test.sh)  

.sh檔案程式碼如下: 

#!/bin/sh  

appname=`basename $0 | sed s,\.sh$,,` 

dirname=`dirname $0` 

tmp="${dirname#?}"  

if [ "${dirname%$tmp}" != "/" ]; then 

dirname=$PWD/$dirname 

fi  

LD_LIBRARY_PATH=$dirname 

export LD_LIBRARY_PATH 

$dirname/$appname $*   

5. 把所用到的庫,可執行檔案,.sh檔案放到同一目錄下 

6. (.sh檔案可能沒有執行許可權)終端中進入這一目錄, 輸入: chmod +x  test.sh

7. 執行程式點選.sh檔案或者終端輸入: 
./test.sh