在CONFIG+= C++11 插入
QMAKE_LFLAGS += -no-pie
先release然后新建文件夹 选中的文件夹为release后生成的文件,里面有一个不带后缀的二进制文件,即为可执行程序,将此程序复制到第一步新建的文件夹中
后 打开终端-
cd xy//xy为上一步新建的文件夹
-
touch pack.sh//建立第一个shell文件
-
touch xxx.sh//建立第二个shell文件,注意第二个脚本文件的名字必须与可执行文件的命名相同
- 在pack.sh 输入
-
#!/bin/sh
-
exe="XXX" #需要发布的程序名称
-
pwd="/home/你的计算机名字/你创建的文件的名字" #所建文件夹的路径
-
files=$(ldd $exe | awk '{if (match(,"/")){ printf("%s "), } }')
-
cp $files $pwd
- xxx.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 "$@"
然后 赋予权限 打包: -
sudo chmod 777 pack.sh//赋予权限
-
./pack.sh//执行第一个脚本文件,此时xy文件夹中会多些许东西
-
sudo chmod 777 xxx.sh//赋予权限
-
./xxx.sh//执行第二个脚本文件,成功打包
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)