网站首页 > 技术教程 正文
我们在linux下编写代码时,会用到一些额外的库(动态或者静态),如小编在qt下写opencv的程序,是在电脑上,项目需求,需要将其移植到嵌入式板子上。小编这里提供一种简单的方法,将我们在电脑上开发好的程序,可以打包复制到其他只要是Linux系统就可以运行,不需要再配置复杂的开发环境。
方法一:通过sh脚本
这里小编用qt下写的一个opencv程序示例:
1.利用qt生成可执行文件,使用release的方式编译出可执行文件,然后新建一个文件夹,将可执行文件拷贝进去备用。
小编这里生成的文件是这样的:
2.利用脚本文件
2.1新建文件
2.1.1pask.sh
2.1.2test2.sh 
这个脚本文件名必须和要发布的程序名字相同,所以为 Server
新建文件后,文件夹包含内容如下:
2.2 添加脚本
向pack.sh文件里添加以下内容:
#!/bin/sh 
exe="test2" #你需要发布的程序名称
des="/home/shang/test" #创建文件夹的位置
deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }') 
cp $deplist $des然后向test2.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 "$@"执行脚本
终端进入文件夹目录,运行:
sh ./pack.sh
可执行文件依赖的链接库将会拷贝到所在的目录,如图:
打包发布
将上面整个文件夹,复制拷贝到其他linux系统,在文件夹路径内终端运行:
./test2.sh
方法二:利用linuxdeployqt将程序打包成应用
ps:这也是笔者更喜欢的方法,原因可看下图,整个程序包结构更加简洁和清晰:
1、下载linuxdeployqt
github网址:
https://github.com/probonopd/linuxdeployqt/releases
2、把下载的文件放入 /usr/local/bin 内,并执行如下命令使其可以运行
chmod 777 linuxdeployqt-6-x86_64.AppImage
3、把qmake的路径添加到环境变量中
sudo gedit /etc/profile?在文件末尾添加:export PATH="/home/shang/Qt5.11.2/5.11.2/gcc_64/bin:$PATH"
具体的路径和qt版本需要自己查看
4、假如 receiver是QT release出来的可执行文件,执行如下语句可复制依赖的文件到当前目录
linuxdeployqt-6-x86_64.AppImage receiver -appimage
至此就可以通过双击apprun或者receiver均可拷贝到其它任意一台linux电脑运行程序啦。
- 上一篇: VPN安装包“引狼入室”
- 下一篇: 绿色地狱steam中文版
猜你喜欢
- 2024-12-01 绿色地狱steam中文版
- 2024-12-01 VPN安装包“引狼入室”
- 2024-12-01 腾讯大佬详细讲解Java 启动exe程序,传递参数和获取参数
- 2024-12-01 西门子组态软件wincc V7.5使用--执行exe文件和关闭exe文件
- 2024-12-01 IP地址修改,不快怎么行
- 2024-12-01 常见钓鱼文档的种类有哪些?
- 2024-12-01 直接运行内嵌exe文件的另一种方法
- 2024-12-01 如何打包一个QT程序(Windows和linux)
- 2024-12-01 卸载的exe文件怎么恢复 电脑卸载exe文件的恢复技巧
- 2024-12-01 QT的跨平台开发问题(5)彻底解决中文乱码
欢迎 你 发表评论:
- 10-23Excel计算工龄和年份之差_excel算工龄的公式year
- 10-23Excel YEARFRAC函数:时间的"年份比例尺"详解
- 10-23最常用的10个Excel函数,中文解读,动图演示,易学易用
- 10-23EXCEL中如何计算截止到今日(两个时间中)的时间
- 10-2390%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 10-23计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- 10-23Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 10-23怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- 最近发表
- 
- Excel计算工龄和年份之差_excel算工龄的公式year
- Excel YEARFRAC函数:时间的"年份比例尺"详解
- 最常用的10个Excel函数,中文解读,动图演示,易学易用
- EXCEL中如何计算截止到今日(两个时间中)的时间
- 90%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- Excel日期函数之DATEDIF函数_excel函数datedif在哪里
- Excel函数-DATEDIF求司龄_exceldatedif函数计算年龄
 
- 标签列表
- 
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
 

本文暂时没有评论,来添加一个吧(●'◡'●)