手把手教你 linux(ubuntu環境)下打包 QT 程序

linux (ubuntu環境)下發布QT程序到非開發機器

1、ldd 查看動態庫缺失

首先,保證在開發機器上通過 QTCreator 能構建出項目並能運行成功。

在 windows 平臺下,我們使用 windeployqt 去拷貝動態庫,而在 linux 下,也有對應的命令是 ldd 。來到 release文件夾下,使用 ldd VPlayer 命令查看 VPlayer(暫且稱我們的程序名爲 VPlayer)的動態庫鏈接情況,假如我們看到下面這種情況,有的庫 not found:

鏈接庫缺失

首先,在紅框下方,可以看到一些依賴庫指向了 ubuntu 系統目錄 usr/lib ,一種原因是這些庫是系統自帶庫,一種原因是 apt-get 的默認安裝路徑的 lib 庫就在 usr/lib 下,這個時候啓動 VPlayer ,系統會自動去這個目錄下搜索動態依賴庫。因此我們要做的就是把我們的動態庫路徑(即爲 release 下 bin 目錄)告訴系統,讓啓動 VPlayer 時去我們指定的目錄下搜索依賴庫。

2、添加動態庫搜索路徑

把我們的release添加進系統的搜索路徑常見的有3種方式:

  1. 添加 VPlayer 目錄到系統共享庫搜索路徑:進入 etc/ld.so.conf.d 目錄,使用命令 sudo touch VPlayer.conf 創建一個 conf 文件,裏面寫上當前應用程序的 bin 目錄,例如 VPlayer 的 bin 是 /home/zhl/bin ,然後執行 sudo ldconfig 去更新緩存文件,可立即生效。
  2. 添加臨時環境變量:LD_LIBRARY_PATH=/home/zhl/bin ,此方法只在當前 s
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章