RK3568平台Qt编译过程

一、编译脚本

auto_build.sh

#!/bin/sh

export CROSS_COMPILE=/opt/OK3568-linux-source/prebuilts/gcc/linux-x86/aarch64/gcc-buildroot-9.3.0-2020.03-x86_64_aarch64-rockchip-linux-gnu/bin/aarch64-rockchip-linux-gnu-
export PATH=/opt/OK3568-linux-source/prebuilts/gcc/linux-x86/aarch64/gcc-buildroot-9.3.0-2020.03-x86_64_aarch64-rockchip-linux-gnu/bin/:$PATH
export ARCH=arm64

./configure -v -prefix /opt/Qt_5.11.0_RK3568 \
-verbose \
-shared \
-release \
-opensource \
-confirm-license \
-xplatform aarch64-rockchip-linux-gnu \
-make libs \
-no-opengl \
-nomake tools -nomake tests \
-skip qtdeclarative \
-optimize-size \
-nomake tests \
-nomake examples \
-recheck-all	

make -j8
make install

二、修改平台配置文件

我用的平台是aarch64-rockchip-linux-gnu

修改配置文件qt-everywhere-src-5.11.0/qtbase/mkspecs/aarch64-rockchip-linux-gnu/qmake.conf

#
# qmake configuration for building with aarch64-linux-gnu-g++
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib

QMAKE_CFALGS_RELEASE += -O2 -march=armv8-a -lts
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv8-a -lts

include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

# modifications to g++.conf
QMAKE_CC                = aarch64-rockchip-linux-gnu-gcc
QMAKE_CXX               = aarch64-rockchip-linux-gnu-g++
QMAKE_LINK              = aarch64-rockchip-linux-gnu-g++
QMAKE_LINK_SHLIB        = aarch64-rockchip-linux-gnu-g++

# modifications to linux.conf
QMAKE_AR                = aarch64-rockchip-linux-gnu-ar cqs
QMAKE_OBJCOPY           = aarch64-rockchip-linux-gnu-objcopy
QMAKE_NM                = aarch64-rockchip-linux-gnu-nm -P
QMAKE_STRIP             = aarch64-rockchip-linux-gnu-strip

load(qt_config)

三、编译

问题1:

参考https://github.com/InBetweenNames/gentooLTO/issues/286
https://codereview.qt-project.org/c/qt/qtbase/+/245425

这是GCC9编译出现的问题
修改文件src/corelib/global/qrandom.cpp 

问题2:

参考https://bugs.gentoo.org/669446

修改qtbase/src/corelib/io/qfilesystemengine_unix.cpp,注释94行

四、配置qt编译环境Kits

error: the compiler cannot produce code for the qt version

需要配置ABI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值