linux下將可執行程序進行打包


1. 可執行文件 mpirun

2. ldd命令查看需要的依賴庫

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

    腳本文件:

可以使用腳本cp.sh將ldd打印出來的依賴庫復制到指定路徑,cp.sh內容如下:

#!/bin/sh

exe="mpirun" #發布的程序名稱

des="./lib" #你的路徑(lib文件夾需要自己創建)

deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')

cp $deplist $des

4. 編寫.sh文檔並將它放在與步驟3同一目錄下(.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 "$@"

執行:

./mpirun.sh --version

注:

ldd 可能無法將所有環境運行的相關庫文件導出,庫文件還有其他的庫文件依賴

若是有相關庫文件卻找不到,可以去添加配置文件 sudo vim /etc/ld.so.conf.d/*.conf  或者添加環境變量

可參考:https://www.cnblogs.com/x_wukong/p/4722903.html

報錯:

/usr/bin/ld cannot find 解決:https://blog.csdn.net/mzwang123/article/details/6702889

缺少相關庫文件

參考文檔:https://blog.csdn.net/tingy123/article/details/99707581


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM