【龙芯2K1000】交叉编译QT库

目录

前言

1.下载QT源码

 2.安装龙芯交叉编译工具链

3.源码编译QT 

4.结束


前言

        本文旨在讲解如何使用龙芯的交叉编译工具链交叉编译出能在龙芯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

【龙芯2K1000】交叉编译QT库_第1张图片

        下载完毕后,将其解压,就可看到源码包内的所有文件夹。【龙芯2K1000】交叉编译QT库_第2张图片

 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的几行代码注释掉。

【龙芯2K1000】交叉编译QT库_第3张图片

         进入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服务远程调试,直接在上位机调试、运行目标机程序,请自行百度方法。

你可能感兴趣的:(龙芯2K1000,QT,交叉编译,qt,嵌入式硬件)