x86架构ubuntu 搭建arm64交叉编译环境及QT编译arm64架构工程

这篇具有很好参考价值的文章主要介绍了x86架构ubuntu 搭建arm64交叉编译环境及QT编译arm64架构工程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:由于最近项目需要做国产系统适配,很多软件需要重新编译以适配不同架构CPU。

环境:

1、主机win10 64bit   vmware虚拟主机ubuntu1804 64bit

2、vmware虚拟主机已经安装了qt5.14.2及qt_create4.11.1

一、C/C++程序交叉编译

1、交叉编译环境搭建

①选定编译工具aarch64-linux-gnu

②安装交叉编译工具

sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

安装后验证下是否ok,直接输aarch64-  加Tab键如果能自动补全aarch64-linux-gnu-gcc那就问题不大,查看版本信息:aarch64-linux-gnu-gcc -v,能查到如下图所示,说明安装完成。

aarch64-linux-gnu-gcc -v

x86 编译arm,ubuntu,linux,qt

 2、编译源码

例如需要将test.c源码编译成arm64可执行文件,指令如下:

aarch64-linux-gnu-gcc -o test test.c

编译通过后通过file指令查看文件类型是否是ELF:64bit LSB shared object,ARM aarch64...如果是,则完成源码编译。

3、QT搭建arm64编译环境

①下载qt-everywhere-src-5.14.2.tar.xz,并通过xz命令解压出qt-everywhere-src-5.14.2.tar文件,再通过tar命令解压qt-everywhere-src-5.14.2.tar文件,得到文件夹:qt-everywhere-src-5.14.2

xz -d qt-everywhere-src-5.14.2.tar.xz

tar -xvf qt-everywhere-src-5.14.2.tar

查看qt-everywhere-src-5.14.2/qtbase/mkspecs里linux-aarch64-gnu-g++/qmake.conf配置文件内容里的编译器是否是aarch64-linux-gnu-  如果不是需要修改成对应的交叉编译工具名,如下所示:

x86 编译arm,ubuntu,linux,qt

 ②进入源码根目录:cd qt-everywhere-src-5.14.2

./configure -prefix /opt/Qt5.14.2/5.14.2/aarch64 -make libs -xplatform linux-aarch64-gnu-g++ -no-opengl -skip qtdeclarative

说明:

- no-opengl是因为之前已经安装过qt的界面版本

-skip qtdeclarative是编译有问题暂时略过

③编译make -j16 2>&1 | tee build.log,注意在编译的时候会输入些lisence选择,选择开源就行。

④安装

因为配置的时候指定的路径是/opt/Qt5.14.2/5.14.2/aarch64,所以需要先创建aarch64文件夹,然后再安装。安装完成后在/opt/Qt5.14.2/5.14.2/aarch64路径下会产生对应的文件夹。

sudo mkdir -p /opt/Qt5.14.2/5.14.2/aarch64

sudo make install

⑤QT配置选项修改

Compliers安装完交叉编译工具,系统能自动找到,如果找不到需要自己通过Add按钮添加

x86 编译arm,ubuntu,linux,qt

Qt Versions需要添加一个自定义的版本,qmake需要刚编译安装后的qmake

x86 编译arm,ubuntu,linux,qt

Kits需要选择好自己新添加的Qt Version

x86 编译arm,ubuntu,linux,qt ⑥工程建立及编译

以上准备工作就绪就可以打开或者创建新的QT项目。构建和运行选aarch64构建项目,编译即可获得arm64所需要的QT应用程序,提供导arm64主机,运行测试。

 文章来源地址https://www.toymoban.com/news/detail-701778.html

x86 编译arm,ubuntu,linux,qt

 

 

到了这里,关于x86架构ubuntu 搭建arm64交叉编译环境及QT编译arm64架构工程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 交叉编译----宿主机x86 ubuntu 64位-目标机ARMv8 aarch64

    1.交叉编译是什么,为什么要交叉编译 编译:在一个平台上生成在该平台上的可执行代码 交叉编译:在一个平台上生成在另一个平台上的可执行代码 交叉编译的例子:如51单片机的可执行代码(hex文件)是在集成环境keil上面编译完成的,我们只需要将编译好的可执行代码下

    2024年02月15日
    浏览(31)
  • 带wiringPi库的交叉编译 ---宿主机x86Ubuntu,目标机ARMv8 aarch64(香橙派)

    带wiringPi库的交叉编译如何进行 先交叉编译wiringPi库,编译出的库适合香橙派,这时候交叉编译可执行程序的平台和链接库的格式也是正确的 ,然后通过-I和-L来指定链接的wiringPi库的头文件和库的位置,但是现在还没有学习过,后面学了补上 此时如果把wiringPi库拿到Ubuntu上进

    2024年02月15日
    浏览(33)
  • Linux conan+cmake管理的项目如何进行多架构编译(x86_64及交叉编译arm64)

    Conan 和 CMake 是两个非常流行的跨平台开发工具,它们可以让开发者轻松管理依赖和构建项目,支持多种操作系统和架构。下面是一些关于 conan 和 cmake 的介绍: Conan Conan 是一个用于管理 C++ 依赖项的开源工具。它可以从公共或私有存储库中自动下载和安装依赖项。Conan 可以轻

    2024年02月09日
    浏览(35)
  • ros2交叉编译 x86到arm

    内容概括: 本篇文章记录了ros2 交叉编译(从x86_ubuntu到arm_ubuntu)过程,以及问题解决。 ros2官方文档 中给出了 三种交叉编译 编译的实现方法: ①提前在本地下载ros2源码然后创建docker ②直接自动下载ros2源码然后创建docker③不用ros2源码,在docker中安装预编译ros 因为交叉编译

    2024年04月17日
    浏览(36)
  • gcc编译 与交叉编译(x86 to arm) (一)单个文件编译

    源平台: UOS_X86_64 目标平台:UOS_arm 方法:使用现成的交叉编译工具链 参考资料:交叉编译概念 ; 安装交叉编译器 ; 交叉编译入门 ( 步骤1 )去平台下载对应的工具链 https://www.linaro.org/downloads/ https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads 以上两个均可以下载,我下载

    2024年02月06日
    浏览(32)
  • ubuntu22.04 x86环境上使用QEMU搭建arm虚拟机

    apt-get -y install qemu apt-get -y install bridge-utils apt-get -y install vnc4server apt-get -y install qemu-kvm apt install -y qemu-system-arm apt-get -y install libvirt0 apt-get -y install libvirt-daemon apt-get -y install libvirt-daemon-system 安装完成后检查: virsh version ls /usr/bin/|grep qemu wget http://releases.linaro.org/components/kernel/

    2024年02月07日
    浏览(58)
  • cmake与交叉编译(x86 to arm)过程和问题全记录

    公司维护一批c++动态库,由于生产需要,每次更新都要在windows、linux_x86、kylin_arm等多个环境中编译一遍,操作比较麻烦,所以想通过交叉编译的方式在一台机器上边编译多个环境的动态库,减少工作量。考虑到工作难度以及本人水平,决定从官方发布的成品交叉编译工具链中

    2024年04月28日
    浏览(33)
  • x86架构上构建arm64架构的docker镜像

    项目需要提供arm64架构上的centos7对应docker镜像,然后本地宿主机只有x86架构机器,因此需要在x86机器上构建centos arm64架构的docker镜像 宿主机操作系统:centos7.7 amd64架构 docker版本:19.03.15 ARM,AMD,X86,AArch64的概念可以参考: https://blog.csdn.net/Bubbler_726/article/details/88397357 下载 qemu-

    2024年02月11日
    浏览(42)
  • arm和x86架构服务器拉取arm64架构的docker镜像

    dockerhub提供的镜像部分支持arm64架构 Docker arm架构服务器拉取docker镜像,默认是arm架构  查看docker镜像的架构 x86平台拉取arm平台的docker镜像 对docker版本有限制 docker运行其他平台容器,需要使用--platform参数指定容器 docker19.03.9及以上版本才支持--platform参数 查看是否开启experi

    2024年01月20日
    浏览(52)
  • 使用QEMU(x86)模拟运行ARM64架构并进行内核调试

    在 x86 上使用 QEMU 虚拟机模拟并调试 ARM64。 参考:ubuntu虚拟机中使用QEMU搭建ARM64环境 主机 ubuntu 20.04, Linux 5.16.0 QEMU emulator version 7.2.92 (v8.0.0-rc2-23-gefcd0ec14b) :qemu-7.2.29 合适的ARM64内核源码:linux-4.14.221.tar.gz 安装交叉编译工具: sudo apt-get install gcc-aarch64-linux-gnu 命令安装以及源码

    2024年02月09日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包