一、香橙派Zero2设置开机连接wifi
二、香橙派Zero2获取Linux SDK源码
四、Linux修改用户名
五、Ubuntu与Linux板卡建立NFS服务
主要讲述了移植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
https://download.qt.io/archive/qt/5.9/5.9.0/single/
本次以5.9.0版本为主
tar -xvf qt-everywhere-opensource-src-5.9.0.tar.xz
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)
回到 qt-everywhere-opensource-src-5.9.0
创建一个脚本文件
touch qt_config.sh
sudo chmod 777 qt_config.sh
gedit qt_config.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 是编译后的安装目录。是个人选择的
完成以后在qt-everywhere-opensource-src-5.9.0
输入以下命令
sudo ./qt_config.sh
如果提示
不要直接复制我的,每个人设置的环境变量都不一定一样,根据你前面设置的来
export PATH="/home/cheng/user/gcc-aarch64-linux-gnu/bin:$PATH"
我的虚拟机给了8个线程,所以是j8
sudo make -j8
到这里就说明编译成功了
sudo make install
在里默认已经在虚拟机的Ubuntu上安装好了qt
交叉编译器的路径一开始我们就已经放好了
我放在了
/home/cheng/user/gcc-aarch64-linux-gnu
然后Apply一下
Qt version 这里选择前几部添加的 Qt5.9的设置
然后Apply-ok就可以了
第一个例子
/opt/qt-5.9.0orangepizero2/examples/widgets/mainwindows/mainwindow
第二个例子
/opt/qt-5.9.0orangepizero2/examples/widgets/widgets/stylesheet
都是只编译,不运行,运行也没用,没有特定环境,会运行失败
程序打包上传到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
可以看到板子上已经成功运行第一个列子
/home/qt-5.9.0orangepizero2/examples/widge/widgets/stylesheet
chmod +x stylesheet
输入
./stylesheet -platform linuxfb
运行过程中出现以下情况
而且打印界面报错:
这个是说找不到这个/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字体文件
sudo vim /etc/profile
然后重启板子
就发现以上的错误消失了
主要介绍了如何在香橙派Zero2上移植QT