ubuntu16.04 搭建QT5.12.10交叉编译环境


系统环境:ubuntu 16.04

QT版本:5.12.10

交叉编译工具链:gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu(生成目标文件为64位)

有问题可以加我的QQ:1239258507,微信同QQ

下载qt-everywhere-src-5.12.10.tar.xz

链接: https://download.qt.io/archive/qt/5.12/5.12.10/single/

解压qt源码

tar -xvJf   qt-everywhere-src-5.12.10.tar.xz
cd  qt-everywhere-src-5.12.10

复制修改配置文件

复制一个原有的配置文件目录生成新的配置文件目录,目录命名自定义(可根据编译器命名)

cp  -a qtbase/mkspecs/linux-arm-gnueabi-g++/    qtbase/mkspecs/aarch64-linux-gnu-g++/

修改配置文件目录

vi  qtbase/mkspecs/aarch64-linux-gnu-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)

# modifications to g++.conf
QMAKE_CC                = /usr/local/arm-aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc 
QMAKE_CXX               = /usr/local/arm-aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ 
QMAKE_LINK              = /usr/local/arm-aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ 
QMAKE_LINK_SHLIB        = /usr/local/arm-aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ 

# modifications to linux.conf
QMAKE_AR                = /usr/local/arm-aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY           = /usr/local/arm-aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objcopy
QMAKE_NM                = /usr/local/arm-aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc-nm  -P
QMAKE_STRIP             = /usr/local/arm-aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip
load(qt_config)

配置qt

可用命令./configure -help 查看源码配置的帮助信息,根据需求配置参数;
编辑一个自动配置的脚本文件(如 config.sh)存放在源码顶层目录下,并添加可执行权限,脚本内容如下

#!/bin/bash

./configure -release \
	-opensource \                //构建Qt的开源版本
    -confirm-license \          //自动许可
	-extprefix /opt/aarch64_qt5.12.0 \       设置安装路径 会自行创建
    -xplatform  aarch64-linux-gnu-g++ \     上面配置好的的配置文件目录
	-no-sse2 \
	-no-sse3 \
	-no-sse4.1 \
	-no-sse4.2 \
	-no-avx \
	-no-avx2 \
	-no-mips_dsp \
	-no-mips_dspr2 \
	-no-pkg-config \
	-no-glib \
	-nomake examples \
	-nomake tools \
	-nomake tests \
	-no-cups \
	-no-iconv \
	-no-dbus \
	-no-opengl \
	-no-xcb 
	
	exit

编译

make -j4
make install

将生成的目录(aarch64_qt5.12.0)复制到开发板 ,然后配置如下环境变量

export QTDIR= aarch64_qt5.12.0目录在开发板所在路径
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

测试

在ubuntu用生成目录(aarch64_qt5.12.0/bin)下的qmake 编译程序测试
在这里插入图片描述

将生成目标程序复制到开发板 执行
在这里插入图片描述

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值