程序以test爲例:
1.從可運行程序的文件中將可執行文件拷貝出來放到一個文件夾(該文件夾即爲最後發佈的文件夾,如:testApp)中,例:test
2.終端下使用ldd命令查看需要的連接庫,例:ldd test
3.把ldd查詢到的所有需要的庫導出
可以使用腳本cp.sh將ldd打印出來的依賴庫複製到指定路徑,cp.sh內容如下:
#!/bin/sh
exe="test" #發佈的程序名稱
des="./lib" #你的路徑(lib文件夾需要自己創建)
deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des
4.編寫.sh文檔並將它放在與步驟3同一目錄下(.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.執行這個test.sh文件:
可能因爲不行執行需更改權限:
chmod +x test.sh
注:腳本執行命令 sh xxx.sh