瑞芯微Rockchip开发者社区
登录
直播中
斯克迪亚
12年用户
415经验值
私信
关注
[问答]
如何搭建RK3399 ARM QT开发环境?
开启该帖子的消息推送
RK3399
如何搭建RK3399 ARM QT开发环境?
回帖
(1)
方夏少
2022-3-7 13:51:00
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
接着输入命令
source /etc/profile
让环境变量生效,也可以重启Ubuntu系统。接着通过下面的命令来验证是否安装成功
aarch64-linux-gnu-gcc -v
若出现如下图所示情况,则证明安装成功了。
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
可以看到如下文件
接着输入命令
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
保存后接着输入命令
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文件
接着输入
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,如图
安装完成后我们可以在下面的目录下看到qtcreator,运行即可
cd /opt/Qt5.9.1/Tools/QtCreator/bin
ls
./qtercator
运行程序结果如下
点击工具下的选项,点击构建与运行,在编译器栏中的manual添加我们前面安装的交叉编译工具,包括aarch64-linux-gnu-gcc与aarch64-linux-gnu-g++,如下图所示
接着点击Qt versions栏添加qmake,目录为交叉编译后安装的qt目录,如下图所示
最后在构建套件栏目添加套件,如下图所示,包括名称、设备类型、编译工具、Qt版本等信息,如下图所示
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
如图所示
然后重启板子让环境变量生效,接下来就可以愉快的开始编写程序了。
下篇博客将会选个具体的程序做介绍。
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
接着输入命令
source /etc/profile
让环境变量生效,也可以重启Ubuntu系统。接着通过下面的命令来验证是否安装成功
aarch64-linux-gnu-gcc -v
若出现如下图所示情况,则证明安装成功了。
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
可以看到如下文件
接着输入命令
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
保存后接着输入命令
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文件
接着输入
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,如图
安装完成后我们可以在下面的目录下看到qtcreator,运行即可
cd /opt/Qt5.9.1/Tools/QtCreator/bin
ls
./qtercator
运行程序结果如下
点击工具下的选项,点击构建与运行,在编译器栏中的manual添加我们前面安装的交叉编译工具,包括aarch64-linux-gnu-gcc与aarch64-linux-gnu-g++,如下图所示
接着点击Qt versions栏添加qmake,目录为交叉编译后安装的qt目录,如下图所示
最后在构建套件栏目添加套件,如下图所示,包括名称、设备类型、编译工具、Qt版本等信息,如下图所示
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
如图所示
然后重启板子让环境变量生效,接下来就可以愉快的开始编写程序了。
下篇博客将会选个具体的程序做介绍。
举报
更多回帖
rotate(-90deg);
回复
相关问答
RK3399
如何
搭建
RK3399
ARM
QT
开发
环境
?
2022-03-07
1365
怎样去
搭建
一种
RK3399
ARM
QT
开发
环境
呢
2022-03-07
1031
怎么去
搭建
RK3399
的
环境
?
2022-03-08
725
如何将
Qt
5.14.2移植到SOM-
RK3399
开发
板上呢
2022-03-07
2767
有什么办法可以将
Qt
5.13移植到
RK3399
开发
板上吗
2022-03-07
756
Qt
5.14.2移植到SOM-
RK3399
开发
板总是失败怎么解决?
2022-03-07
698
怎样移植
qt
可执行程序到
rk3399
开发
板上运行呢
2022-03-07
871
如何在
RK3399
这一
Arm
64平台上
搭建
Tengine AI推理框架呢
2022-03-04
1900
FireFly
RK3399
开发
板与NanoPC T4
开发
板有何不同呢
2022-03-08
2151
怎样在
RK3399
开发
板上去
搭建
一种NFS
开发
环境
呢
2022-03-07
1035
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分