linux下交叉编译qt源码

以Qt5.14.2为例:

准备qt源码(可从qt官方下载)

准备交叉编译链 linux仓库里

sudo apt-get update   //更新仓库 

sudo apt-get install gcc-aarch64-linux-gnu 安装gcc

sudo apt-get install g++-aarch64-linux-gnu 安装g++

使用 aarch64-linux-gnu-gcc -v 查看

使用env 查看环境变量

由于交叉编译链默认安装到、usr/bin/目录下,编译时指定编译器即可

解压QT源码

增加一个aotoconfigure.sh,进行配置及安装

#!/bin/sh

export CROSS_COMPILE=/usr/bin/aarch64-linux-gnu-
export PATH=/usr/bin/:$PATH
export ARCH=arm64

./configure -prefix /opt/Qt_source/qtarm \
-verbose \
-shared \
-release \
-opensource \
-confirm-license \
-xplatform linux-aarch64-gnu-g++ \
-make libs \
-no-opengl \
-nomake tools -nomake tests \
-skip qtdeclarative \
-optimize-size \
-nomake tests \
-nomake examples \
-skip qtquick3d \
-recheck-all

exit
 

导入编译器 及编译之后的平台 

-prefix  /opt/Tool/Qt_source/00/qtarm 将交叉编译后的文件放到此目录

-xplatform 指定linux-aarch64-gnu-g++平台

之后切换到 

新增一个你要的平台 如linux-aarch64-gnu-g++ ,之后编辑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                = /usr/bin/aarch64-linux-gnu-gcc
QMAKE_CXX               = /usr/bin/aarch64-linux-gnu-g++
QMAKE_LINK              = /usr/bin/aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB        = /usr/bin/aarch64-linux-gnu-g++

# modifications to linux.conf
QMAKE_AR                = /usr/bin/aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY           = /usr/bin/aarch64-linux-gnu-objcopy
QMAKE_NM                = /usr/bin/aarch64-linux-gnu-nm -P
QMAKE_STRIP             = /usr/bin/aarch64-linux-gnu-strip
load(qt_config)
 

编辑完成之后 切换源码目录 直接 sh autoconfigure.sh 进行编译

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值