目录
前言
本文旨在讲解如何使用龙芯的交叉编译工具链交叉编译出能在龙芯2K1000上使用的QT库,并远程调试编译应用。
上位机:Ubuntu 20.04
开发板:龙芯2K1000教育派(mips架构)
1.下载QT源码
首先在QT官网下载源码,这里下载5.15.5版本(不清楚支不支持QT6)注意是tar.xz后缀的。
Index of /archive/qt/5.15/5.15.5/single
下载完毕后,将其解压,就可看到源码包内的所有文件夹。
2.安装龙芯交叉编译工具链
apt install ca-certificates apt-transport-https wget
echo "deb https://mirrors.teach.com.cn/toolchain/debian buster main" > /etc/apt/sources.list.d/loongbian-toolchain.list
wget https://mirrors.teach.com.cn/loongbian/loongbian-archive-keyring.gpg -O - | apt-key add -
apt update
apt install gcc-mips64el-linux-gnuabi64 binutils-mips64el-linux-gnuabi64
apt install g++-mips64el-linux-gnuabi64
验证:
#验证gcc
mips64el-linux-gnuabi64-gcc -v
#验证g++
mips64el-linux-gnuabi64-gcc -v
3.源码编译QT
修改qt-everywhere-src-5.15.5/qtbase/mkspecs/devices/linux-mipsel-broadcom-97425-g++目录下的qmake.conf。将CROSS_COMPILE修改为上面安装的编译器名字,也就是:
mips64el-linux-gnuabi64-
同时将defineTest的几行代码注释掉。
进入QT源码主目录(也可另外新建一个build文件夹,避免编译污染源文件),创建编译脚本build.sh:
#! /bin/bash
./configure -prefix /opt/qt5.15.5-mipsel/ \
-release -opensource -make libs \
-xplatform devices/linux-mipsel-broadcom-97425-g++ \
-optimized-qmake \
-pch \
-qt-libjpeg \
-qt-libpng \
-qt-zlib \
-qpa linuxfb \
-no-opengl \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-iconv \
-no-pch \
-make tools \
-skip qtvirtualkeyboard \
-recheck-all
-prefix /opt/qt5.15.5-mipsel制定了最后install 的安装位置。
sudo ./build.sh
sudo make -j8
sudo make install
之后要将其生成的lib拷贝到目标机相应的路径下,比如编译好后安装的目录为/opt/qt5.15.5-mipsel/lib,就要复制到目标机的/opt/qt5.15.5-mipsel/lib。
4.结束
至此,成功编译出适用于龙芯2K1000上QT库,可以在上位机上使用Qt Creator使用交叉编译好的QT库进行界面开发,生成的可执行文件拷贝到龙芯2K1000上就可直接运行。也可以通过ssh服务远程调试,直接在上位机调试、运行目标机程序,请自行百度方法。