树莓派.Qt.打包开发好的程序并运行的方法
Qt开发的软件, 想要部署在树莓派上运行, 需要进行打包和发布
主要步骤如下:
1. 找1个树莓派用于开发与打包, 所以需要在它上面安装Qt开发环境
树莓派上安装Qt的方法, 可以看这里>>>传送门
2. 开发完成后, 要使用Qt的Release方式编译正式用于运行的程序
> 配置release路径, 例如: /home/pi/Downloads/release/
> 编译与运行, 生成可运行的程序文件
3.收集运行所需要库文件
可以通过ldd [你的程序名]来查看所需的库文件
ldd /home/pi/Downloads/release/smartscreen
还不少, 逐个库也是件够呛的工作, 让我们用个脚本来自动完成它
把下面这个脚本(网上找的, 我稍微修改了一下, 让它支持参数方式运行, 这样你打包多个程序都用同一个脚本即可)放在你的release目录里执行一次即可, 懒人必备利器
运行时后面要加2个参数, 要注意看脚本中的样例:
./qt-pack.sh smartscreen /home/pi/Downloads/release/
脚本执行后的效果:
4.写个脚本来运行你的新打包的程序
这个脚本也是网上找的, 应该是因为运行程序需要支持库的路径支持所以需要这个脚本, 直接使用即可
要注意脚本的名字要跟你的程序名完全一样, 只是多了个".sh"的后缀
然后就可以运行了, 我的例子是放在/home/pi/Downloads/release/, 所以运行只需要这样:
/home/pi/Downloads/release/smartscreen.sh
这样就可以了
5.可以发布了,纯绿色喔
然后就可以拿到没有Qt开发环境的树莓派中使用了, 只需要注意都是32位的Linux即可(因为目前树莓派官方只有32位的Linux系统可用)
把这个release目录完整的拷贝到新的树莓派中, 执行上面的脚本即可运行!
树莓派.Qt.打包开发好的程序并运行的方法的更多相关文章
- C# 最简单的使程序单进程运行的方法
1.代码1 static void Main() { Process current = Process.GetCurrentProcess(); Process[] processes = Proc ...
- Win10 + CLion + 树莓派 + QT 远程开发调用Python
原则:能在一个机器上开发的就不在两台机器上!! 首先需要配置远程QT开发环境 配置Cmake cmake_minimum_required(VERSION 3.14) project(qt_test) ...
- Qt入门——使用QT+VS2008开发windows应用程序
1.文件->新建->项目 Qt4 Projects 右边已安装模板当中选择At Application. 确定 2.选择需要使用的QT库 下一步 3. “class name”:指定类的名 ...
- 使用deb 打包开发的postgres extension 另外一种方法
已经写过一个deb 包打包的方法,我们同时也可以使用dpkg-deb 命令 安装依赖工具包 推荐安装全点的 sudo apt-get install build-essential autoconf ...
- IntelliJ IDEA 运行你的第一个Java应用程序 idea运行main方法
IntelliJ IDEA 运行你的第一个Java应用程序创建项目让我们创建一个简单的Java Hello World项目. 单击创建新的项目. 打开新建项目向导.你应该注意的主要是项目的SDK.SD ...
- Halcon程序导出运行的方法
1 在Halcon中打开程序,如clip.hdev: 2 文件->导出 设置使用导出模板,使用UTF-8编码: 3 导出cs文件 4 新建Winform程序 5 在工具栏中点右键->选择项 ...
- screen mac linux下一种让程序后台运行的方法
1: screen 场景的意思.字面意思就是软件运行在不同场景 (1)创建会话 使用命令“screen -S RunWork”来创建一个screen会话,命令执行之后,就会得到一个新的shell窗口, ...
- Qt Creator提示"Qt没有被正确安装,请运行make install"的解决办法
笔者最近使用Qt在开发一些小程序,觉得这个框架设计确实很好,使用了信号和槽解决了组件之间的通讯问题,可以说是基于C++语言上一个非常大的创新,大大提高了开发人员的编码效率,也使整个C++语言更加抽象. ...
- QT树莓派交叉编译环开发环境搭建(附多个exe工具下载链接)
前两天入手了一块2.8’的tft液晶显示屏,于是和树莓派连了一发,成功将命令行显示在了这块小的可怜的屏幕上之后,觉得这屏幕就显示个黑白内容太浪费了,于是考虑开发一个”脸”(图形用户界面,GUI).首先 ...
随机推荐
- Node.js Error: listen EADDRNOTAVAIL
1 前言 nodejs部署在云服务器,外网用域名加端口访问不进来,但在服务器本地用127.0.0.1加端口可以访问,并且端口已经放开,然后只能排查配置.此文章仅作为记录使用. 如果端口和另一个的端口一 ...
- webpack——publicPath路径问题
output: { filename: "[name].js", path:path.resolve(__dirname,"build") } 如果没有指定pu ...
- for循环输出9~0
示例 for(var i = 9; i>-1;i--){ println(i) } function println(a) { document.write(a+"<br> ...
- HDFS上创建文件、写入内容
1.创建文件 hdfs dfs -touchz /aaa/aa.txt 2.写入内容 echo "<Text to append>" | hdfs dfs -appen ...
- javafx的scene大小不能在控制器中设置
做个记录,备忘 遇到一个问题,点击提交,红色标识的VBox大小不能改变.问题如图,代码如下 点击后 fxml结构简化代码: 红色框体对应vboxMax <VBox fx:id="vbo ...
- 《剑指offer》-数组中只出现一次的数字
/* 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 思路: 如果是只有一个数字出现一次,那么所有数字做异或就得到结果: 现在有两个数字x,y分别出现一次 ...
- Android开发之实现多次点击事件
在Android中给我们提供了单次点击事件.但并没有给我们提供双击,或者实现在一定时间内的多次事件.所以需要我们自己在单机监听上进行修改实现. 有如下两种实现方式: 1.定义一个存贮上一个第一次点击的 ...
- POJ 1862 Stripies 【优先队列】
题意:科学家发现一种奇怪的东西,他们有重量weight,如果他们碰在一起,总重变成2*sqrt(m1*m2).要求出最终的重量的最小值. 思路:每次选取质量m最大的两个stripy进行碰撞结合,能够得 ...
- -webkit-line-clamp超出省略
以前只用过超出一行显示省略号 有时候会碰到只显示两到三行,超出省略 -webkit-line-clamp属性就能解决这个问题 text-overflow: -o-ellipsis-lastline; ...
- 第三章XML简介
概念:XML:提供数据交换.系统配置.内容管理等的功能,可跨平台.跨网络.跨程序的数据描述方式.XSL:依靠XPath定位,提供显示模板,且专门为了显示XML文件信息的语言.CSS(层叠样式表):在网 ...