RK3399 ARM QT开发环境搭建

RK3399 ARMQT开发环境搭建指南

RK3399 ARM QT开发环境搭建

1. 准备环节

下载交叉编译工具,下载地址,选择aarch64-linux-gnu,64-bit ARMv8 Cortex-A, little-endian。下载qt-everywhere-opensource-src-5.9.1.tar.xz和qt-opensource-linux-x64-5.9.0.run,下载地址

2. 安装交叉编译工具

将下载的交叉编译工具gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz复制到你想安装的目录下,我们这里选择为/opt文件夹下,复制完成后在/opt目录下输入命令

tar -xvf gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz 

解压完成后将获得的文件夹重命名为gcc-aarch64-linux-gnu,然后将/opt/gcc-aarch64-linux-gnu/bin目录添加到环境变量中,输入命令

sudo gedit /etc/profile

在末尾添加如下内容

export PATH="/opt/gcc-aarch64-linux-gnu/bin:$PATH" 

接着输入命令

source  /etc/profile

让环境变量生效,也可以重启Ubuntu系统。接着通过下面的命令来验证是否安装成功

aarch64-linux-gnu-gcc -v

若出现如下图所示情况,则证明安装成功了。
image

3. 交叉编译qt库

将下载的qt-everywhere-opensource-src-5.9.1.tar.xz压缩包复制到/opt目录下,完成后在/opt目录下输入命令

tar -xvf qt-everywhere-opensource-src-5.9.1.tar.xz

解压完成后进入获得的文件夹下,ls一下

cd /opt/qt-everywhere-opensource-src-5.9.1
ls

可以看到如下文件
image
接着输入命令

sudo gedit /opt/qt-everywhere-opensource-src-5.9.1/qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf

在其中添加如下内容,如图所示

QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS_RELEASE += -O2 -march=armv8-a -lts
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv8-a -lts

image
保存后接着输入命令

sudo gedit auto.sh

新建的auto.sh为交叉编译自动配置脚本,在其中添加以下内容

#!/bin/sh
./configure \
-prefix /opt/qt5.9.1-arm \
-confirm-license \
-opensource \
-release \
-make libs \
-xplatform linux-aarch64-gnu-g++ \
-pch \
-qt-libjpeg \
-qt-libpng \
-qt-zlib \
-no-opengl \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-dbus \
-no-xcb \
-no-separate-debug-info \

其中/opt/qt5.9.1-arm 为编译后的安装目录,-xplatform linux-aarch64-gnu-g++为交叉编译相关选择,还记得之前我们修改过/opt/qt-everywhere-opensource-src-5.9.1/qtbase/mkspecs/linux-aarch64-gnu-g++文件夹下的qmake.conf文件吧,前后是有对应的,-no-xcb要选择,要不然编译会出差,尝试了各种方法也没解决这个问题。接着修改该文件权限并执行

sudo chmod u+x auto.sh 
./auto.sh

首次时间会比较长,结束后会显示如下结果并生成Makefile文件
image
接着输入

sudo make

进行编译,大概需要一个小时,编译完成后输入命令

sudo make install

大约一分钟后,可以看见/opt目录下出现了我们指定的安装目录/opt/qt5.9.1-arm,表示安装成功。

4. 安装qtcreator

将下载的qt-opensource-linux-x64-5.9.0.run复制到/opt目录下,输入命令

sudo chmod u+x qt-opensource-linux-x64-5.9.0.run
./qt-opensource-linux-x64-5.9.0.run

安装时按照提示一步步点击下一步,这里只选择Tools,如图
image
安装完成后我们可以在下面的目录下看到qtcreator,运行即可

cd /opt/Qt5.9.1/Tools/QtCreator/bin
ls
./qtercator

运行程序结果如下
image
点击工具下的选项,点击构建与运行,在编译器栏中的manual添加我们前面安装的交叉编译工具,包括aarch64-linux-gnu-gcc与aarch64-linux-gnu-g++,如下图所示
image
接着点击Qt versions栏添加qmake,目录为交叉编译后安装的qt目录,如下图所示
image
最后在构建套件栏目添加套件,如下图所示,包括名称、设备类型、编译工具、Qt版本等信息,如下图所示
image

5. 将交叉编译的Qt库复制到板子上

在/opt目录下输入命令

tar -zcvf qt5.9.1.tar.gz qt5.9.1-arm
cp qt5.9.1.tar.gz /hljob/nfs

其中qt5.9.1.tar.gz为生成的压缩文件名称,qt5.9.1-arm为交叉编译后安装的目录,通过前面设置的/hljob/nfs共享目录将其复制到板子的/opt目录,解压,板子上输入的命令如下所示

sudo mount -t nfs -o nolock 10.12.1.36:/hljob/nfs /home;cd /home
sudo cp qt5.9.1.tar.gz /opt
cd /opt
tar -zxvf qt5.9.1.tar.gz

接着将qt程序运行所依赖的相关文件、配置等添加到环境变量中,操作如下

sudo vi /etc/profile

在其中添加如下内容

export QTEDIR=/opt/qt5.9.0-arm/
export LD_LIBRARY_PATH=/opt/qt5.9.0-arm/lib:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTEDIR/plugins
export QT_QPA_PLATFORM=linuxfb
export QT_QPA_FONTDIR=/usr/share/fonts/truetype/droid

如图所示
image
然后重启板子让环境变量生效,接下来就可以愉快的开始编写程序了。
下篇博客将会选个具体的程序做介绍。

### 配置和搭建RK3566平台上的QT开发环境 #### 准备工作 为了在RK3566平台上成功配置并搭建QT开发环境,需先完成一系列准备工作。这包括但不限于获取必要的软件包、设置合适的编译器以及准备目标板的支持文件。 - **安装依赖项**:确保主机Ubuntu系统已准备好所有必需的构建工具和其他依赖关系。可以通过执行`sudo apt-get update && sudo apt-get install build-essential cmake git libgl1-mesa-dev`来实现这一点[^3]。 - **下载QT源码或二进制包**:访问[Qt官方网站](https://www.qt.io/download-open-source),选择适合嵌入式Linux系统的版本进行下载;也可以通过指定镜像站点加速下载过程,比如中国科学技术大学提供的镜像站[^4]。 #### 编译器的选择与安装 对于RK系列芯片来说,推荐使用GCC作为C/C++编译器。考虑到兼容性和性能优化的需求,建议采用ARM架构专用的交叉编译链路。可以从官方资源库或者其他可信渠道获得适用于RK356X系列处理器的预编译好的工具链,并将其路径添加到环境变量中以便后续调用。 ```bash export PATH=/path/to/toolchain/bin:$PATH ``` #### 构建QT库 一旦上述条件满足,则可着手于实际的QT库构建流程: - 解压所下载的QT压缩包至本地磁盘; - 进入解压后的顶层目录运行configure命令以生成Makefile,期间应指明目标平台参数(如-qpa eglfs),同时指向之前选定的交叉编译器位置; - 执行make指令启动整个项目的编译环节,视具体情况而定可能耗时较长; - 使用make install将最终产物部署到预期的目标文件夹内。 ```bash ./configure -release -opengl es2 -device linux-rk356x-gcc -sysroot /opt/rk-rootfs \ -prefix /usr/local/qt5 -extprefix /home/user/rk_qt_build \ -nomake examples -no-warnings-are-errors -skip webengine make -j$(nproc) sudo make install ``` #### 设置远程调试支持 为了让开发者能够在宿主机端更方便地开展图形界面应用程序的设计工作,在完成了基本的QT环境建设之后还需要额外考虑如何建立有效的远程调试机制。一种常见做法是在RK设备上开启SSH服务允许外部连接进来,再配合VSCode这类集成开发环境中内置的相关扩展来进行断点跟踪等操作[^1]。 #### 创建项目模板 最后一步就是创建一个新的QT工程项目了。利用qmake或是cmake这样的自动化构建管理系统可以帮助快速建立起合理的项目结构框架。下面给出了一段简单的`.pro`文件示例供参考: ```pro # qt_rgbd_show.pro 工程文件 QT += core gui widgets opengl multimedia multimediawidgets CONFIG += c++17 warn_on release_with_debug_info TARGET = RGBDShowApp TEMPLATE = app SOURCES += main.cpp \ mainwindow.cpp HEADERS += mainwindow.h RESOURCES += resources.qrc ```
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值