Linux篇 三、香橙派Zero2搭建Qt环境

香橙派Zero2系列文章目录

一、香橙派Zero2设置开机连接wifi
二、香橙派Zero2获取Linux SDK源码
三、香橙派Zero2搭建Qt环境


前言

主要讲述了移植QT的过程


一、下载交叉编译工具

默认在香橙派篇2中,已经成功拉取Linux的SDK源码的情况下

如果失败的话,可以直接去官网下载交叉编译工具

 cd orangepi-build//toolchains/

此处路径和上一篇的源码下载路径相同
ls 查看交叉编译工具链

在这里插入图片描述
选择gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu

home目录下创建user文件夹

复制到user里

路径根据实际情况填写

扫描二维码关注公众号,回复: 14699050 查看本文章
sudo cp -r gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/ /home/cheng/user/

改名字,赋予权限

mv gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/ gcc-aarch64-linux-gnu

sudo chmod -R 777 gcc-aarch64-linux-gnu

/home/cheng/user/gcc-aarch64-linux-gnu/bin 添加到环境变量里面

sudo gedit /etc/profile

在这里插入图片描述

在末尾添加,视情况而定

export PATH="/home/cheng/user/gcc-aarch64-linux-gnu/bin:$PATH"

重启让环境变量生效,或者

reboot

source  /etc/profile

查看是否安装成功

aarch64-linux-gnu-gcc -v

在这里插入图片描述

二、编译QT库

1.先去网站下载Qt的资源包

https://download.qt.io/archive/qt/5.9/5.9.0/single/

本次以5.9.0版本为主

2.解压

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

在这里插入图片描述

3.开始移植:

1、修改qmake.conf文件,如下:

gedit qt-everywhere-opensource-src-5.9.0/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf 

 #
 # qmake configuration for building with arm-linux-gnueabi-g++
 #
   
 MAKEFILE_GENERATOR      = UNIX
 CONFIG                 += incremental
 QMAKE_INCREMENTAL_STYLE = sublib
   
 include(../common/linux.conf)
 include(../common/gcc-base-unix.conf)
 include(../common/g++-unix.conf)
   
 QT_QPA_DEFAULT_PLATFORM = linuxfb
 QMAKE_CFLAGS_RELEASE += -O2 -march=armv8-a                                                                                                                                                              
 QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv8-a
   
 # modifications to g++.conf
 QMAKE_CC                = aarch64-linux-gnu-gcc
 QMAKE_CXX               = aarch64-linux-gnu-g++
 QMAKE_LINK              = aarch64-linux-gnu-g++
 QMAKE_LINK_SHLIB        = aarch64-linux-gnu-g++
   
 # modifications to linux.conf
 QMAKE_AR                = aarch64-linux-gnu-ar cqs
 QMAKE_OBJCOPY           = aarch64-linux-gnu-objcopy
 QMAKE_NM                = aarch64-linux-gnu-nm -P
 QMAKE_STRIP             = aarch64-linux-gnu-strip
 load(qt_config)

创建一个脚本文件

touch qt_config.sh
sudo chmod 777 qt_config.sh
gedit qtconfig.sh

输入以下内容:(具体 .configure 配置详解请参考链接:https://blog.csdn.net/xi_gua_gua/article/details/53413930)

  #!/bin/sh  
 ./configure -prefix /opt/qt-5.9.0orangepizero2 \
 -opensource \
 -release \
 -no-pch \
 -confirm-license \
 -xplatform linux-arm-gnueabi-g++ \
 -shared \
 -qt-zlib \
 -no-iconv \
 -no-gif \
 -qt-libjpeg \
 -no-opengl \
 -no-cups \
 -no-glib \
 -no-dbus \
 -no-rpath \
 -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 \
 -no-avx  \-nomake tools \
 -qreal float \
 -qt-libpng \
 -no-compile-examples \
 -skip qtdeclarative \
 -no-openssl                                                                                                                                                                                           

-prefix /opt/qt-5.9.0orangepizero2 是编译后的安装目录。是个人选择的

完成以后去到文件所在目录下

sudo ./qtconfig.sh

如果提示

在这里插入图片描述
那就重新设置一下环境变量

不要直接复制我的,每个人设置的环境变量都不一定一样,根据你前面设置的来

export PATH="/home/cheng/user/gcc-aarch64-linux-gnu/bin:$PATH"

在这里插入图片描述
到这里就可以开始编译了

4.编译:

make

编译成功
在这里插入图片描述

到这里就说明编译成功了

5.安装:

sudo make install

在这里插入图片描述
可以看到在/opt目录已经有了qt的内容

在这里插入图片描述

三. 安装QT

在里默认已经在虚拟机的Ubuntu上安装好了qt

1.配置QT

1.打开qt

在这里插入图片描述

2.点击 工具-选项-Kits-编译器

在这里插入图片描述

3.在编译器的Manual中添加GCC和C++路径为交叉编译工具的路径

交叉编译器的路径一开始我们就已经放好了

我放在了

/home/cheng/user/gcc-aarch64-linux-gnu

在这里插入图片描述
在这里插入图片描述

然后Apply一下

4.在Qt Versions中添加qmake为编译好的qt目录

在这里插入图片描述

5.构建套件Kit设置

在这里插入图片描述
注意c和c++的编译器设置

在这里插入图片描述
Qt version 这里选择前几部添加的 Qt5.9的设置
在这里插入图片描述
然后Apply-ok就可以了

2.编译Qt任意例子

第一个例子

/opt/qt-5.9.0orangepizero2/examples/widgets/mainwindows/mainwindow

在这里插入图片描述

第二个例子

/opt/qt-5.9.0orangepizero2/examples/widgets/widgets/stylesheet

在这里插入图片描述

都是只编译,不运行,运行也没用,没有特定环境,会运行失败

3.使用打包命令打包程序上传到OrangePi

程序打包上传到OrangePiZero2板子上,我把它放在了/home目录里面

在这里插入图片描述
把目录的权限改成板子上的用户和用户组

配置OrangePi PC2环境:

sudo vim /etc/profile

在最下边加入一下内容:

export QTDIR=/home/qt-5.9.0orangepizero2 #上边让你记住的路径
export QT_QPA_FONTDIR=$QTDIR/lib/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/ 
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0

让环境变量生效

source /etc/profile

cd 到第一个例子所在目录

/home/qt-5.9.0orangepizero2/examples/widgets/mainwindows/mainwindow
chmod +x mainwindow

输入

./mainwindow -platform linuxfb

4.成果

可以看到板子上已经成功运行第一个列子

请添加图片描述

请添加图片描述
第二个例子

/home/qt-5.9.0orangepizero2/examples/widge/widgets/stylesheet
chmod +x stylesheet

输入

./stylesheet -platform linuxfb

请添加图片描述

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
请添加图片描述

运行过程中出现以下情况
而且打印界面报错:

在这里插入图片描述
这个是说找不到这个/home/qt-5.9.0orangepizero2/lib/fonts.
重新安装一下字体

sudo apt install ttf-wqy-zenhei

查看字体所在目录

fc-list :lang=zh

在这里插入图片描述
出现了一大堆

自己可以选择使用

我使用的是

/usr/share/fonts/truetype/wqy/
//该目录下有wqy-zenhei.ttc字体文件

在这里插入图片描述
修改一下profile文件

sudo vim /etc/profile

修改如图所示,把指定字体目录添加在这里插入图片描述

然后重启板子

就发现以上的错误消失了


总结

主要介绍了如何在香橙派Zero2上移植QT

猜你喜欢

转载自blog.csdn.net/qq_41930631/article/details/128392744