Difference between revisions of "How to Build, Install and Setting Qt Application"
From FriendlyELEC WiKi
Line 1: | Line 1: | ||
[[How to Build & Install Qt-5.9.1 Application for FriendlyELEC Boards/zh|查看中文]] | [[How to Build & Install Qt-5.9.1 Application for FriendlyELEC Boards/zh|查看中文]] | ||
+ | |||
+ | ==Qt版本介绍== | ||
+ | Qt针对不同型号的开发板,提供了不同的Qt版本,Qt支持的特性也不同,请参照下面的表格: | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | CPU名称 | ||
+ | | Qt版本 | ||
+ | | 显示驱动 | ||
+ | | OpenGL支持 | ||
+ | | QtWebEngine支持 | ||
+ | | 电容屏 | ||
+ | | 对应开发板 | ||
+ | |- | ||
+ | | S5P4418 | ||
+ | | Qt 5.9.1 | ||
+ | | EGLFS | ||
+ | | Yes | ||
+ | | Yes | ||
+ | | 多点触摸 | ||
+ | | NanoPi S2/NanoPi M2A/NanoPi Fire2/NanoPC T2/Smart4418 | ||
+ | |- | ||
+ | | S5P6818 | ||
+ | | Qt 5.9.1 | ||
+ | | EGLFS | ||
+ | | Yes | ||
+ | | Yes | ||
+ | | 多点触摸 | ||
+ | | NanoPi M3/NanoPi Fire3/NanoPC T3 | ||
+ | |- | ||
+ | | Allwinner H3 | ||
+ | | Qt 4.8.6 | ||
+ | | LinuxFB | ||
+ | | No | ||
+ | | No | ||
+ | | 单点触摸 | ||
+ | | NanoPi-Duo/NanoPi-M1-Plus/NanoPi-M1/NanoPi-NEO-Air/NanoPi-NEO-Core/NanoPi-NEO | ||
+ | |- | ||
+ | | Allwinner H5 | ||
+ | | Qt 4.8.6 | ||
+ | | LinuxFB | ||
+ | | No | ||
+ | | No | ||
+ | | 单点触摸 | ||
+ | | NanoPi-M1-Plus2/NanoPi-NEO-Core2/NanoPi-NEO-Plus2/NanoPi-NEO2 | ||
+ | |- | ||
+ | | Amlogic S905 | ||
+ | | Qt 5.9.1 | ||
+ | | LinuxFB | ||
+ | | No | ||
+ | | No | ||
+ | | 单点触摸 | ||
+ | | NanoPi-K2 | ||
+ | |} | ||
+ | |||
+ | ==安装Qt交叉编译环境== | ||
+ | (注意:推荐的PC操作系统为 Ubuntu 16.04 64位系统) <br /> | ||
+ | 根据你所用开发板的CPU型号,点击下表中的链接,下载链接内的所有文件到本地: | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | CPU名称 | ||
+ | | Qt版本 | ||
+ | | 编译器与QtSDK | ||
+ | |- | ||
+ | | S5P4418 | ||
+ | | Qt 5.9.1 | ||
+ | | [http://112.124.9.243/qtsdk-friendlyelec/s5p4418/ 点击下载] | ||
+ | |- | ||
+ | | S5P6818 | ||
+ | | Qt 5.9.1 | ||
+ | | [http://112.124.9.243/qtsdk-friendlyelec/s5p6818/ 点击下载] | ||
+ | |- | ||
+ | | Allwinner H3 | ||
+ | | Qt 4.8.6 | ||
+ | | [http://112.124.9.243/qtsdk-friendlyelec/h3/ 点击下载] | ||
+ | |- | ||
+ | | Allwinner H5 | ||
+ | | Qt 4.8.6 | ||
+ | | [http://112.124.9.243/qtsdk-friendlyelec/h5/ 点击下载] | ||
+ | |- | ||
+ | | Amlogic S905 | ||
+ | | Qt 5.9.1 | ||
+ | | [http://112.124.9.243/qtsdk-friendlyelec/s905/ 点击下载] | ||
+ | |} | ||
+ | |||
+ | 然后执行以下命令安装即可: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | chmod 755 ./install.sh | ||
+ | sudo ./install.sh | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==交叉编译你的Qt应用程序 == | ||
+ | |||
+ | 下面以下载并编译一个 QtE-Demo 为例,分别说明在各个平台编译一个 Qt应用程序的步骤: | ||
+ | |||
+ | ===S5P4418平台的编译=== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | git clone https://github.com/friendlyarm/QtE-Demo | ||
+ | mkdir build && cd build | ||
+ | /usr/local/Trolltech/Qt-5.9.1-nexell32/bin/qmake ../QtE-Demo/QtE-Demo.pro | ||
+ | make | ||
+ | </syntaxhighlight> | ||
+ | ===S5P6818平台的编译=== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | git clone https://github.com/friendlyarm/QtE-Demo | ||
+ | mkdir build && cd build | ||
+ | /usr/local/Trolltech/Qt-5.9.1-nexell64/bin/qmake ../QtE-Demo/QtE-Demo.pro | ||
+ | make | ||
+ | </syntaxhighlight> | ||
+ | ===Allwinner H3平台的编译=== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | export PATH=/opt/FriendlyARM/toolschain/4.9.3/bin/:$PATH | ||
+ | git clone https://github.com/friendlyarm/QtE-Demo | ||
+ | mkdir build && cd build | ||
+ | /usr/local/Trolltech/QtEmbedded-4.8.6-arm/bin/qmake ../QtE-Demo/QtE-Demo-Qt4.pro | ||
+ | make | ||
+ | </syntaxhighlight> | ||
+ | ===Allwinner H5平台的编译=== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | export PATH=/opt/FriendlyARM/toolschain/a64-32bit-tootchain/bin/:$PATH | ||
+ | git clone https://github.com/friendlyarm/QtE-Demo | ||
+ | mkdir build && cd build | ||
+ | /usr/local/Trolltech/QtEmbedded-4.8.6-arm-a64/bin/qmake ../QtE-Demo/QtE-Demo-Qt4.pro | ||
+ | make | ||
+ | </syntaxhighlight> | ||
+ | ===Amlogic S905平台的编译=== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | export PATH=/opt/FriendlyARM/toolschain/a64-32bit-tootchain/bin/:$PATH | ||
+ | git clone https://github.com/friendlyarm/QtE-Demo | ||
+ | mkdir build && cd build | ||
+ | /usr/local/Trolltech/QtEmbedded-5.9.1-arch64/bin/qmake ../QtE-Demo/QtE-Demo.pro | ||
+ | make | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==在开发板上运行Qt程序== | ||
+ | |||
+ | 运行Qt程序之前,需要先设置环境变量,在开发板上执行以下命令即可: | ||
+ | |||
+ | Qt5,使用 setqt5env: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | . /usr/bin/setqt5env | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Qt4,使用 setqt4env: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | . /usr/bin/setqt4env | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 例如运行上一章节编译的QtE-Demo: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | ./QtE-Demo -qws | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==开机自动运行Qt程序== | ||
+ | |||
+ | 以运行上一章节中的 QtE-Demo 程序为例,假设它放在 /root 目录,则你可以编辑 /etc/rc.local 文件,确否有以下内容: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | . /usr/bin/setqt5env | ||
+ | /root/QtE-Demo -qws& | ||
+ | </syntaxhighlight> | ||
+ | 如果是 Qt4,请将setqt5env改为setqt4env。 | ||
+ | |||
+ | ==屏幕旋转== | ||
+ | 根据你所用开发板的CPU型号,点击下表中的链接,下载链接内的所有文件到本地: | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | CPU名称 | ||
+ | | Qt版本 | ||
+ | | 屏幕旋转方法 | ||
+ | |- | ||
+ | | S5P4418 | ||
+ | | Qt 5.9.1 | ||
+ | | export ROTATION=-90<br />. setqt5env<br />./YourApp<br /><br />可设置角度值为: 0, 90, 180, -90 | ||
+ | |- | ||
+ | | S5P6818 | ||
+ | | Qt 5.9.1 | ||
+ | | export ROTATION=-90<br />. setqt5env<br />./YourApp<br /><br />可设置角度值为: 0, 90, 180, -90 | ||
+ | |- | ||
+ | | Allwinner H3 | ||
+ | | Qt 4.8.6 | ||
+ | | . setqt4env<br />export QWS_DISPLAY='Transformed:Rot90'<br />./YourApp<br /><br />可设置角度值为: 0, 90, 180, 270 | ||
+ | |- | ||
+ | | Allwinner H5 | ||
+ | | Qt 4.8.6 | ||
+ | | . setqt4env<br />export QWS_DISPLAY='Transformed:Rot90'<br />./YourApp<br /><br />可设置角度值为: 0, 90, 180, 270 | ||
+ | |- | ||
+ | | Amlogic S905 | ||
+ | | Qt 5.9.1 | ||
+ | | . setqt5env<br />export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:rotation=90<br />./YourApp<br /><br />可设置角度值为: 0, 90, 180, 270 | ||
+ | |} |
Revision as of 07:04, 5 December 2017
Contents
1 Qt版本介绍
Qt针对不同型号的开发板,提供了不同的Qt版本,Qt支持的特性也不同,请参照下面的表格:
CPU名称 | Qt版本 | 显示驱动 | OpenGL支持 | QtWebEngine支持 | 电容屏 | 对应开发板 |
S5P4418 | Qt 5.9.1 | EGLFS | Yes | Yes | 多点触摸 | NanoPi S2/NanoPi M2A/NanoPi Fire2/NanoPC T2/Smart4418 |
S5P6818 | Qt 5.9.1 | EGLFS | Yes | Yes | 多点触摸 | NanoPi M3/NanoPi Fire3/NanoPC T3 |
Allwinner H3 | Qt 4.8.6 | LinuxFB | No | No | 单点触摸 | NanoPi-Duo/NanoPi-M1-Plus/NanoPi-M1/NanoPi-NEO-Air/NanoPi-NEO-Core/NanoPi-NEO |
Allwinner H5 | Qt 4.8.6 | LinuxFB | No | No | 单点触摸 | NanoPi-M1-Plus2/NanoPi-NEO-Core2/NanoPi-NEO-Plus2/NanoPi-NEO2 |
Amlogic S905 | Qt 5.9.1 | LinuxFB | No | No | 单点触摸 | NanoPi-K2 |
2 安装Qt交叉编译环境
(注意:推荐的PC操作系统为 Ubuntu 16.04 64位系统)
根据你所用开发板的CPU型号,点击下表中的链接,下载链接内的所有文件到本地:
CPU名称 | Qt版本 | 编译器与QtSDK |
S5P4418 | Qt 5.9.1 | 点击下载 |
S5P6818 | Qt 5.9.1 | 点击下载 |
Allwinner H3 | Qt 4.8.6 | 点击下载 |
Allwinner H5 | Qt 4.8.6 | 点击下载 |
Amlogic S905 | Qt 5.9.1 | 点击下载 |
然后执行以下命令安装即可:
chmod 755 ./install.sh sudo ./install.sh
3 交叉编译你的Qt应用程序
下面以下载并编译一个 QtE-Demo 为例,分别说明在各个平台编译一个 Qt应用程序的步骤:
3.1 S5P4418平台的编译
git clone https://github.com/friendlyarm/QtE-Demo mkdir build && cd build /usr/local/Trolltech/Qt-5.9.1-nexell32/bin/qmake ../QtE-Demo/QtE-Demo.pro make
3.2 S5P6818平台的编译
git clone https://github.com/friendlyarm/QtE-Demo mkdir build && cd build /usr/local/Trolltech/Qt-5.9.1-nexell64/bin/qmake ../QtE-Demo/QtE-Demo.pro make
3.3 Allwinner H3平台的编译
export PATH=/opt/FriendlyARM/toolschain/4.9.3/bin/:$PATH git clone https://github.com/friendlyarm/QtE-Demo mkdir build && cd build /usr/local/Trolltech/QtEmbedded-4.8.6-arm/bin/qmake ../QtE-Demo/QtE-Demo-Qt4.pro make
3.4 Allwinner H5平台的编译
export PATH=/opt/FriendlyARM/toolschain/a64-32bit-tootchain/bin/:$PATH git clone https://github.com/friendlyarm/QtE-Demo mkdir build && cd build /usr/local/Trolltech/QtEmbedded-4.8.6-arm-a64/bin/qmake ../QtE-Demo/QtE-Demo-Qt4.pro make
3.5 Amlogic S905平台的编译
export PATH=/opt/FriendlyARM/toolschain/a64-32bit-tootchain/bin/:$PATH git clone https://github.com/friendlyarm/QtE-Demo mkdir build && cd build /usr/local/Trolltech/QtEmbedded-5.9.1-arch64/bin/qmake ../QtE-Demo/QtE-Demo.pro make
4 在开发板上运行Qt程序
运行Qt程序之前,需要先设置环境变量,在开发板上执行以下命令即可:
Qt5,使用 setqt5env:
. /usr/bin/setqt5env
Qt4,使用 setqt4env:
. /usr/bin/setqt4env
例如运行上一章节编译的QtE-Demo:
./QtE-Demo -qws
5 开机自动运行Qt程序
以运行上一章节中的 QtE-Demo 程序为例,假设它放在 /root 目录,则你可以编辑 /etc/rc.local 文件,确否有以下内容:
. /usr/bin/setqt5env /root/QtE-Demo -qws&
如果是 Qt4,请将setqt5env改为setqt4env。
6 屏幕旋转
根据你所用开发板的CPU型号,点击下表中的链接,下载链接内的所有文件到本地:
CPU名称 | Qt版本 | 屏幕旋转方法 |
S5P4418 | Qt 5.9.1 | export ROTATION=-90 . setqt5env ./YourApp 可设置角度值为: 0, 90, 180, -90 |
S5P6818 | Qt 5.9.1 | export ROTATION=-90 . setqt5env ./YourApp 可设置角度值为: 0, 90, 180, -90 |
Allwinner H3 | Qt 4.8.6 | . setqt4env export QWS_DISPLAY='Transformed:Rot90' ./YourApp 可设置角度值为: 0, 90, 180, 270 |
Allwinner H5 | Qt 4.8.6 | . setqt4env export QWS_DISPLAY='Transformed:Rot90' ./YourApp 可设置角度值为: 0, 90, 180, 270 |
Amlogic S905 | Qt 5.9.1 | . setqt5env export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:rotation=90 ./YourApp 可设置角度值为: 0, 90, 180, 270 |