1. 野火demo 编译¶
野火demo主要为LubanCat用户提供一个Qt的应用程序示例。
从最基础的控件到UI,从单个App示例到最终demo,从程序代码到硬件控制,甚至是工程管理和编程思想。
这一部分我们就主要讲demo编译、运行环境和程序发布。
野火提供的Qt Demo已经开源,仓库地址在
仓库主要包含两个分支,master和debian_buster。其中master是在Windows下可以直接编译的,debian_buster主要用在Ubuntu和开发板。
1.1. 编译Windows版本¶
Windos下Qt的环境配置比较简单,参考前面 Qt环境搭建–X86 章节,这里就不过多讲解。
直接下载源码构建即可。源码下载地址如下,-b master 表示主分支,当然也可以省略。
提示
注意该分支为 master ,使用命令 git branch 可以查看当前分支,git checkout xxx 可以手动切换分支,xxx为切换的目标分支。
github
git clone -b master https://github.com/Embedfire/ebf_linux_qt_demo/
gitee
git clone -b master https://gitee.com/Embedfire/ebf_linux_qt_demo/
接着用Qt Creator打开工程编译即可。
1.2. 编译Ubuntu版本¶
我编译Ubuntu版本的野火qtdemo和Windows差不多, 我们之前也在Ubuntu上安装了Qt Creator,只需要选择不同的构建套件即可。
编译环境使用Desktop Qt 5.11.3 GCC 64bit,这个套件是安装Ubuntu的QtCreator时自动安装的版本编译环境。
首先从github或者gitee上拉取对应的仓库到本地,-b debian_buster 表示获取 debian_buster 分支代码。
提示
注意该分支为 debian_buster ,编译工具链为 Desktop Qt 5.11.3 GCC 64bit,使用命令 git branch 可以查看当前分支,git checkout xxx 可以手动切换分支,xxx为切换的目标分支。
从github拉取:
git clone -b debian_buster https://github.com/Embedfire/ebf_linux_qt_demo/
从gitee拉取:
git clone -b debian_buster https://gitee.com/Embedfire/ebf_linux_qt_demo/
选择构建套件 Desktop Qt 5.11.3 GCC 64bit
,分别构建QtUi、Skin、FireApp。
Skin工程构建:
QtUi工程构建:
FireApp工程构建后运行:
运行的效果:
1.3. 编译ARM版本¶
编译环境使用Qt5.11.3,也就是我们前面搭建的交叉编译环境。
首先从github或者gitee上拉取对应的仓库到本地,-b debian_buster 表示获取debian_buster分支代码。
提示
注意该分支为 debian_buster ,编译工具链为我们自己配置的Qt,使用命令 git branch 可以查看当前分支,git checkout xxx 可以手动切换分支,xxx为切换的目标分支。
从github拉取:
git clone -b debian_buster https://github.com/Embedfire/ebf_linux_qt_demo/
从gitee拉取:
git clone -b debian_buster https://gitee.com/Embedfire/ebf_linux_qt_demo/
打开Qt Creator,添加QtUi进行单独的编译,通过Qt Creator界面的【文件】 ->
【添加文件或项目】,选择 ebf_debian_qt_demo/QtUi
目录下的QtUi.pro工程添加到Qt
Creator中。
在添加工程的时候会让你选择构建套件,我们全选就好了,这取决于你系统中有多少中构建套件,而交叉编译套件则是我们之前安装的 ebf_imx6ull
,这个套件必须存在,否则无法交叉编译。
最后选择对应的构建套件并且进行构建。
同理我们将Skin工程添加到Qt Creator中,然后进行构建:
最后将我们要编译的Demo工程添加到Qt Creator中,并且进行构建:
在构建完成后,可以看到 ebf_debian_qt_demo/app_bin
目录下存在App可执行程序,我们使用file查看该可执行程序会发现它是32位的,可以在ARM开发板上运行,如图所示:
运行的效果如下:
1.4. 使用命令行编译¶
导出Qt交叉编译的环境变量
export PATH=/opt/qt-everywhere-src-5.11.3/bin:$PATH
输入命令验证Qt版本
qmake -v
若环境变量设置正确,则会出现以下信息
QMake version 3.1
Using Qt version 5.11.3 in /opt/qt-everywhere-src-5.11.3/lib
以上是验证SDK安装是否成功!!
下载qt源码
github
git clone -b master https://github.com/Embedfire/ebf_linux_qt_demo/
gitee
git clone -b master https://gitee.com/Embedfire/ebf_linux_qt_demo/
编译
./build.sh
如果 build.sh
不是可执行文件,可以使用以下命令添加可执行权限
chmod +x build.sh
输出
在当前目录下会创建一个 run_dir
目录,存在 App libqui libskin
文件,App是可以直接在开发板上运行的!
与此同时,还会打包一个 fire-app-xxxx.tar.bz2
文件,大家可以拷贝到对应的目录下解压替换掉旧的 App
。
清除相关内容
make distclean