Linux 下找出特定Qt程式所使用的Qt函式庫並且一起複製到該Qt程式所在目錄(解決程式相依移植問題)
資料來源:http://www.ubuntu-tw.net/modules/newbb/viewtopic.php?topic_id=49274
01.終端機使用 ldd 可以看到需要連結的函式庫
$ ldd myProgram
02.找到 Qt 函式庫並複製到執行檔目錄下
$ cp `ldd myProgram | grep Qt | cut -d " " -f 3` /path/to/myProgram
------
ps.其中cut指令的教學(http://linux.vbird.org/linux_basic/0320bash.php#cut)
[root@www ~]# cut -d'分隔字元' -f fields <==用於有特定分隔字元
[root@www ~]# cut -c 字元區間 <==用於排列整齊的訊息
選項與參數:
-d :後面接分隔字元。與 -f 一起使用;
-f :依據 -d 的分隔字元將一段訊息分割成為數段,用 -f 取出第幾段的意思;
-c :以字元 (characters) 的單位取出固定字元區間;
範例一:將 PATH 變數取出,我要找出第五個路徑。
[root@www ~]# echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games:
# 1 | 2 | 3 | 4 | 5 | 6 | 7
[root@www ~]# echo $PATH | cut -d ':' -f 5
# 如同上面的數字顯示,我們是以『 : 』作為分隔,因此會出現 /usr/local/bin
# 那麼如果想要列出第 3 與第 5 呢?,就是這樣:
[root@www ~]# echo $PATH | cut -d ':' -f 3,5
#2014/12/08實驗筆記
回覆刪除#cd到執行檔所在目錄
ldd qtcreator01 | cut -d " " -f 3 #找出所有相依函式庫
ldd qtcreator01 | grep Qt | cut -d " " -f 3 #找出Qt 相依函式庫
cp `ldd qtcreator01 | grep Qt | cut -d " " -f 3` ./ #拷貝Qt 相依函式庫到目前目錄