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

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