linux下程序打包發佈

程序以test爲例:

1.從可運行程序的文件中將可執行文件拷貝出來放到一個文件夾(該文件夾即爲最後發佈的文件夾,如:testApp)中,例:test

2.終端下使用ldd命令查看需要的連接庫,例:ldd test

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

可以使用腳本cp.shldd打印出來的依賴庫複製到指定路徑,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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章