
在程序的同目录下,新建一个空文档,取名panel.sh (文件名与程序名同名,扩展名为sh,shell文件)。
在panel.sh中原封不动的写入以下语句:#!/bin/shappname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp=${dirname#?}
if [ ${dirname%$tmp} != / ]then
dirname=$PWD/$dirname:$LD_LIBRARY_PATHfiLD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname $*
保存文件,退出。在终端给文件+x属性: 切换到程序的目录,输入
chmod +x panel.sh
然后运行shell文件就行了(确保panel程序具备X属性),它会自动更改环境变量,运行程序。
如果要调试shell文件,只需要在终端输入:
1、linux下复制qt release模式生成的可执行文件到桌面的新建目录。2、编写脚本文件ldd.sh 作用:导出可执行程序运行时所需要的库文件 点击下载。
3、执行 ./ldd.sh + 可执行程序 在当前的文件夹下生成lib文件。复制lib下的库文件 与可执行文件同级目录。
4、到Qt安装目录里 找到platform文件夹 我的目录是 /opt/Qt5.7.0/5.7/gcc_64/plugins/platforms 复制此文件夹与可执行文件同级目录。
5、复制ldd.sh到platforms文件夹内,执行 ./ldd.sh libqxcb.so 将生成的lib目录下的库文件拷贝至可执行文件同级目录。删除platforms里的lib文件。
6、执行下载到的脚本文件 ./app.sh
注:app.sh与可执行文件同名。在windows下写的脚本文件 在linux下使用是出现 /bin/bash^M: bad interpreter:没有那个文件或目录 解决办法
vim 打开脚本文件 :set ff? 显示 ff=dos 修改成 :set ff=unix :wq保存退出即可
qt程序动态打包步骤1.从可运行程序的文件中拿出可执行文件
2.终端下使用ldd命令查看需要的连接库
例如 ldd + 可执行文件
3.把ldd查询到的所有需要的库导出
4.编写.sh文档(.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.把所用到的库,可执行文件, .sh文件放到同一目录下
6.终端中进入这一目录,输入:
chmod +x test.sh
7.执行程序点击.sh文件或者终端输入:
./test.sh
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)