mips-mti-gnu-linux,[MIPS]Qt5.9.0交叉编译

本文详细介绍了在MIPS架构下,使用mips-gcc720-glibc226交叉编译Qt5.9.0时的步骤,包括预编译tslib和sqlite3,解决预编译和编译过程中遇到的问题,如错误配置、符号引用未定义等。同时,提到了针对Qt5.12.7版本特定的错误解决方案,如编译sqlite3时启用SQLITE_ENABLE_COLUMN_METADATA宏。此外,还讨论了在不同设备上运行时的环境变量设置,特别是与旋转相关的参数。
摘要由CSDN通过智能技术生成

准备好MIPS交叉编译器

比如君正X2000的编译器 mips-gcc720-glibc226

将其拷贝到/opt目录下,然后设置好环境变量PATH。

在~/.bashrc中加上

export PATH=/opt/mips-gcc720-glibc226/bin:$PATH

预编译tslib

tslib是一个用于触摸事件的开源的库,可以从github上下载,我们用的是1.22版本。

Qt依赖它来实现触屏事件

./autogen.sh

./configure --host=mips-linux-gnu --prefix=/opt/Qt5.9.0/tslib-1.22

make

make install

./configure --host=mips-linux-gnu --prefix=/opt/Qt5.9.0/tslib-1.22 CC=/opt/mips-gcc720-glibc226/bin/mips-linux-gnu-gcc

加上加上编译器的绝对路径

预编译sqlite3

下载sqlite-autoconf-3340100.tar.gz文件

./configure --host=mips-linux-gnu --prefix=/opt/Qt5.9.0/sqlite3

make

make install

注意:因为/opt目录只有root权限能够写,所以在make install 的时候会提示permission error,这时在make install前加sudo是没用的,还是会报错误。所以不如直接在root用户下编译

交叉编译Qt

此处我们采用的是Qt5.9.0版本,解压之后修改qtbase/mkspecs/devices/linux-mipsel-ci20-g++/qmake.conf

#

# qmake configuration for building with mips-mti-linux-gnu-g++

# build for CI20 targets X11

#

CROSS_COMPILE = mips-linux-gnu- # 改成我们实际使用的交叉编译器

include(../common/linux_device_pre.conf)

QMAKE_CFLAGS = -EL -march=mips32r2

QMAKE_CXXFLAGS = $${QMAKE_CFLAGS}

QMAKE_LFLAGS = -EL

QT_QPA_DEFAULT_PLATFORM = linuxfb # xcb,因为没有GPU,所以默认使用linuxfb

QMAKE_LIBS_EGL = -lEGL -lIMGegl -lusc

QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 $${QMAKE_LIBS_EGL}

include(../common/linux_device_post.conf)

load(qt_config)

在根目录下创建build.sh文件

./configure -prefix /opt/Qt5.9.0/Qt5 \

-opensource \

-release \

-shared \

-pch \

-sqlite \

-I/opt/Qt5.9.0/sqlite3/include \

-L/opt/Qt5.9.0/sqlite3/lib \

-qt-zlib \

-qt-libjpeg \

-qt-libpng \

-qt-freetype \

-no-openssl \

-gui \

-widgets \

-nomake examples \

-nomake tests \

-nomake tools \

-optimized-qmake \

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值