首页 > 其他分享 >x86_64架构下交叉编译aarch64架构所使用的qt库

x86_64架构下交叉编译aarch64架构所使用的qt库

时间:2024-10-21 16:47:28浏览次数:6  
标签:架构 x86 gnu aarch64 skip linux uisrc qt

本文基于qt版本5.12.8在x86_64位上交叉移植出aarch64架构使用的库

一、编译环境 x86_64

uisrc@ubuntu:~$ arch
x86_64
uisrc@ubuntu:~$ ^C
uisrc@ubuntu:~$ 

二、QT版本5.12.8下载解压

wget http://download.qt.io/archive/qt/5.12/5.12.8/single/qt-everywhere-src-5.12.8.tar.xz
tar xcf qt-everywhere-src-5.12.8.tar.xz

三、linux交叉编译器

aarch64-linux-gnu-g++/aarch64-linux-gnu-gcc

四、配置临时交叉编译器,编译器路径配置自己的路径

uisrc@ubuntu:~$ 
uisrc@ubuntu:~$  export PATH=$PATH:/home/uisrc/SDK/toolchains/aarch64-linux/bin/
uisrc@ubuntu:~$ `

五、进入qt源码

uisrc@ubuntu:~/qt/qt-everywhere-src-5.12.8/qtbase/mkspecs/linux-aarch64-gnu-g++$ cd /home/uisrc/qt/qt-everywhere-src-5.12.8/qtbase/mkspecs/linux-aarch64-gnu-g++
uisrc@ubuntu:~/qt/qt-everywhere-src-5.12.8/qtbase/mkspecs/linux-aarch64-gnu-g++$ ls
qmake.conf  qplatformdefs.h

六、查看qmake.conf内容修改如下:

#
# qmake configuration for building with aarch64-linux-gnu-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                = aarch64-linux-gnu-gcc
QMAKE_CXX               = aarch64-linux-gnu-g++
QMAKE_LINK              = aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB        = aarch64-linux-gnu-g++

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

七、切换到源码路径下编写配置脚本cfg.sh并运行

uisrc@ubuntu:~/qt/qt-everywhere-src-5.12.8$gedit cfg.sh
#!/bin/sh
./configure -prefix /opt/qt5.12.8 \
-opensource \
-confirm-license \
-release \
-strip \
-no-eglfs -linuxfb \
-qt-zlib \
-no-gif \
-qt-libpng \
-qt-libjpeg \
-qt-freetype \
-no-rpath \
-no-pch \
-no-avx \
-no-openssl \
-no-cups \
-no-dbus \
-no-pkg-config \
-no-glib \
-no-iconv \
-xplatform  linux-aarch64-g++ \  
-no-opengl \
-nomake examples \
-nomake tools \
-no-sqlite \
-skip qtgamepad \
-skip qtandroidextras \
-skip qtmacextras \
-skip qtx11extras \
-skip qtsensors \
-skip qtserialbus \
-skip qtserialport \
-skip qtwebengine \
-skip qtwebchannel \
-skip qtwebsockets \
-skip qtlocation \
-skip qtquickcontrols \
-skip qtpurchasing \
-skip qtconnectivity \
-skip qtscxml \
-skip qtxmlpatterns \
uisrc@ubuntu:~/qt/qt-everywhere-src-5.12.8$ chmod 777 cfg.sh
uisrc@ubuntu:~/qt/qt-everywhere-src-5.12.8$  ./cfg.sh

八、编译

make -j8

九、安装

make install

十、库位置

配置文件/opt/qt5.12.8 安装的位置或者源码路径qtbase下lib和include

标签:架构,x86,gnu,aarch64,skip,linux,uisrc,qt
From: https://blog.csdn.net/qq_42842833/article/details/143113485

相关文章

  • 一文搞懂SaaS应用架构:应用服务、应用结构、应用交互设计
    大家好,我是汤师爷~今天系统性地聊聊SaaS应用架构设计。应用架构概述我们已经完成了SaaS系统的定位分析,明确了系统的目标和核心能力。这为接下来的应用架构设计奠定了基础。应用架构就像整个SaaS系统的骨架,决定了系统的整体结构和各个组件之间的关系。接下来,我们会深入探讨应用......
  • 探索ArkWeb的奥秘:架构了解与生命周期管理
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。ArkWeb(方舟Web)是华为鸿蒙Harmon......
  • 软件架构风格之MVC架构
    一、前言在序章中已经介绍了MVC架构,MVC即模型-视图-控制器模式,该架构的核心组件是模型(Model)、视图(View)、控制器(Controller),各个部件之间职责明确,以实现搞内聚低耦合的系统。Model层的作用和职责①表示应用程序的数据结构和业务逻辑;②包含用于访问、更改和保存数据的方法;③负责......
  • 【STC15】面向对象的.h/.c程序架构
    .h文件#ifndef__MAIN_H_#define__MAIN_H_/*Includes------------------------------------------------------------------*/#include<STC15.h>/*externvariables-----------------------------------------------------------*//*externfunctionprot......
  • Ubuntu20.04LTS aarch64 操作系统连接联通4G网卡
    步骤1:更新系统并安装必要的软件包sudoapt-getupdatesudoapt-getinstallusb-modeswitchmodemmanagernetwork-managerusb-modeswitch:用于将某些USB设备从存储模式切换到调制解调器模式。ModemManager:用于管理移动宽带调制解调器。NetworkManager:用于管理网络连接。......
  • 基于Lambda架构的大数据处理详解
    1.软件项目简介及工作职责在我参与的大数据开发项目中,主要是构建一个实时与离线数据处理并行的系统,以满足业务对高效数据处理和及时响应的要求。该系统旨在收集并处理来自多个数据源的实时和批量数据,主要处理流程分为实时流处理和批量离线处理。在项目中,我的主要工作职责......
  • 单元化架构,分布式系统的新王!
    0关键收获单元化架构通过减少故障的爆炸半径来增加系统弹性单元化架构是那些任何停机时间都被认为是不可接受的,或者可以显著影响最终用户的系统的一个好选择单元化架构通过强制使用固定大小的单元作为部署单元,并倾向于扩展而不是扩展的方法,增强了微服务的可伸缩性模型单元化......
  • 软件架构的10个质量属性
    原文链接:软件架构的10个质量属性–每天进步一点点一般地,对于软件系统的需求而言,分为两类:功能性需求和非功能性需求。软件系统的架构设计既要满足软件的功能性需求,还要满足软件的非功能性需求。特别地,系统架构对软件非功能性需求的支撑成为架构的质量属性。本文描述了软件的10......
  • ubuntu 安装 MySql5.7(基于ARM架构 源码安装)
    1系统需求目标安装MySql5.7版本。系统环境:oracle云主机,arm架构确认主机架构如下图:查看是否有5.7版本的源apt-cachesearchmysql|grepmysql-server执行后发现只有8.0版本的,5.7版本只能通过源码安装了。 2下载MySql源码下载源码要选择合适的版本,官网下载地址......
  • 软考论文论湖仓一体架构及其应用
    一、论文论据数据仓库是从各种外部数据源、各种内部应用程序中定期提取数据的大型存储库。数据湖是一个以原始格式存储数据的平台,不需要定义数据按原样存储数据,而无需事先对数据进行结构化处理或者定义数据模式,数据湖仓虽然适合数据的存储,但由于不支持事务、缺乏一致性/隔离性、......