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

您所在的位置:网站首页 香橙派4引脚 Linux篇 三、香橙派Zero2搭建Qt环境

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

#Linux篇 三、香橙派Zero2搭建Qt环境| 来源: 网络整理| 查看: 265

香橙派Zero2系列文章目录

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

文章目录 香橙派Zero2系列文章目录 前言 一、下载交叉编译工具 二、编译QT库 1.先去网站下载Qt的资源包 2.解压 3.开始移植: 4.编译: 5.安装: 三. 安装QT 1.配置QT 1.打开qt 2.点击 工具-选项-Kits-编译器 3.在编译器的Manual中添加GCC和C++路径为交叉编译工具的路径 4.在Qt Versions中添加qmake为编译好的qt目录 5.构建套件Kit设置 2.编译Qt任意例子 3.使用打包命令打包程序上传到OrangePi 4.成果 总结

前言

主要讲述了移植QT的过程

一、下载交叉编译工具

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

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

cd orangepi-build//toolchains/

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

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

home目录下创建user文件夹

复制到user里

路径根据实际情况填写

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3