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打开工程编译即可。

ebf_windows001

1.2. 编译Ubuntu版本

我编译Ubuntu版本的野火qtdemo和Windows差不多, 我们之前也在Ubuntu上安装了Qt Creator,只需要选择不同的构建套件即可。

编译环境使用Desktop Qt 5.11.3 GCC 64bit,这个套件是安装Ubuntu的QtCreator时自动安装的版本编译环境。

install_qt_creator035

首先从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工程构建:

install_qt_creator036

QtUi工程构建:

install_qt_creator037

FireApp工程构建后运行:

install_qt_creator038

运行的效果:

install_qt_creator039

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中。

install_qt_creator026

在添加工程的时候会让你选择构建套件,我们全选就好了,这取决于你系统中有多少中构建套件,而交叉编译套件则是我们之前安装的 ebf_imx6ull ,这个套件必须存在,否则无法交叉编译。

install_qt_creator027

最后选择对应的构建套件并且进行构建。

install_qt_creator028

同理我们将Skin工程添加到Qt Creator中,然后进行构建:

install_qt_creator029
install_qt_creator030

最后将我们要编译的Demo工程添加到Qt Creator中,并且进行构建:

install_qt_creator031
install_qt_creator032

在构建完成后,可以看到 ebf_debian_qt_demo/app_bin 目录下存在App可执行程序,我们使用file查看该可执行程序会发现它是32位的,可以在ARM开发板上运行,如图所示:

install_qt_creator033

运行的效果如下:

install_qt_creator034

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