Ubuntu与致远ARM交叉编译Qt5.12环境

这篇具有很好参考价值的文章主要介绍了Ubuntu与致远ARM交叉编译Qt5.12环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        ARM板现有环境配置(主要是对/etc/profile/编辑)较简单,参考上一篇博客,板子上已经部署了Qt5.15。
Ubuntu与国产致远ARM_3568交叉编译Qt此文档只是为了记录错误的过程,下一往篇博客会直接介绍正确的配置。https://blog.csdn.net/qq_35529025/article/details/129524412

        本文主要介绍使用第三方ToolChain编译Qt源码并使用aarch64-linux-gnu-gcc编译器的过程。实际第三方ToolChian可能未使用。

 一、Qt基本安装

        官网下载:

        1、qt-opensource-linux-x64-5.12.2.run

        2、qt-everywhere-src-5.12.2.tar.xz

        修改run文件的可执行权限并安装;解压src并等待接下来的编译。

二、aarch64-rockchip-linux-gnu及配置

        aarch64-rockchip-linux-gnu是国产芯片的ToolChian。猜测与aarch64-linux-gnu兼容,因此后续很多编译与配置实际是使用aarch64-linux-gnu,并且成功。

root@ubuntu:/home/zfadmin# vi ~/.bashrc

        在文件尾添加(依据自己的路径修改):

export ARCH=arm
export CROSS_COMPILE=aarch64-linux-gnu-
export PATH=$PATH:/home/zfadmin/aarch64-rockchip-linux-gnu/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/zfadmin/aarch64-rockchip-linux-gnu/lib

        其中bin目录下是具体编译器的位置。

        安装make、gcc-5,并将默认的gcc版本配置成gcc5。

sudo apt-get install make
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5

        安装aarch64-linux-gnu-gcc与aarch64-linux-gnu-g++。实际使用的是自动安装的aarch64-linux-gnu-g++,版本是gcc-7。

# 此处选择gcc-5-aarch64-linux-gnu以及g++-5-aarch64-linux-gnu进行安装
# 实际在“没有版本号安装”的时候会依据环境自动安装另外的版本。
sudo apt-get install gcc-5-aarch64-linux-gnu 
sudo apt-get install g++-5-aarch64-linux-gnu
# 安装一个没有版本号的gcc和g++
sudo apt-get install gcc-aarch64-linux-gnu
sudo apt-get install g++-aarch64-linux-gnu
# 查看版本
aarch64-linux-gnu-g++ -v
aarch64-linux-gnu-gcc -v

三、qt-everywhere编译

        1、在qteverywhre主目录下(qtbase文件夹的上层)创建一个autoconfig.sh文件,用于对./configure一系列的配置操作,内容如下:

#!/bin/bash
./configure -prefix /home/zfadmin/armqt-5.12.2_1 \
-opensource \
-confirm-license \
-release \
-strip \
-shared \
-xplatform linux-aarch64-gnu-g++ \
-optimized-qmake \
-c++std c++11 \
--rpath=no \
-pch \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-make examples \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--iconv=no \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
-linuxfb \
--xcb=no \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-recheck-all

       以上配置了输出目录、交叉编译器版本等。

       2、 对相应交叉编译器版本的qmake进行配置:

root@ubuntu:/home/zfadmin# vim /home/zfadmin/qt5.12src/qt-everywhere-src-5.12.2/qtbase/mkspecs/linux-aarch64-gnu-g++/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)
~                 

         3、在此目录下执行

./autoconfig
make -j8
make install

        如果不出意外,将会在/home/zfadmin/下看到armqt-5.12.2_1文件夹,其中目录如下:

zfadmin@ubuntu:~/armqt-5.12.2_1$ ll
总用量 36
drwxrwxrwx  9 root    root    4096 Mar 13 20:28 ./
drwxr-xr-x 23 zfadmin zfadmin 4096 Mar 13 23:48 ../
drwxrwxrwx  2 root    root    4096 Mar 13 20:29 bin/
drwxrwxrwx  3 root    root    4096 Mar 13 20:28 doc/
drwxrwxrwx 13 root    root    4096 Mar 13 20:29 examples/
drwxrwxrwx 25 root    root    4096 Mar 13 20:28 include/
drwxrwxrwx  4 root    root    4096 Mar 13 20:28 lib/
drwxrwxrwx 71 root    root    4096 Mar 13 20:28 mkspecs/
drwxrwxrwx 10 root    root    4096 Mar 13 20:28 plugins/
zfadmin@ubuntu:~/armqt-5.12.2_1$ 

        在./bin中有将要用到的qmake。

四、QtCreator配置

        打开QtCreator,工具-->选项-->kits,对编译套件进行配置。

1、手动添加一个Qt Versions,指向刚刚编译出来的qmake,配置完成之后点击Apply。

ubuntu 安装qt 配置交叉编译,ubuntu,qt,linux

 2、手动添加一个kits并设置

        编译器选择安装aarch64-linux-gnu-gcc时自动生成的编译器,gcc版本与aarch64-linux-gnu-gcc -v显示的版本要保持一致。Qt版本选择刚刚添加Qt Versions。

        理论上应该选择厂商给的aarch64-rockchip-linux-gnu,但是可能在编译源码的时候没有选择,在此选择aarch64-rockchip-linux-gnu会无法编译。

ubuntu 安装qt 配置交叉编译,ubuntu,qt,linux

 3、选择手动添加的arm套件,构建一个hello world项目,完成后会有一个build文件夹,将其中的可执行文件拷贝到ARM板上,修改权限,直接运行,未见异常。

 ubuntu 安装qt 配置交叉编译,ubuntu,qt,linux

注意:编译出来的目录不要随便改名字,在qmake执行文件中会记录当时编译的路径名称

参考链接 QT·移植Qt到ARM平台及搭建Qt交叉编译环境文章来源地址https://www.toymoban.com/news/detail-835207.html

到了这里,关于Ubuntu与致远ARM交叉编译Qt5.12环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM)

       GCC配置同上   最后配置Kits 上面设置完成之后 ,设置Kits 中的Device(这是为了能够直接把项目部署到arm设备上)      点击NEXT之后会出现连接被拒绝,不用担心 ,下面会对其设置密码。 验证arm设置的密码。                 代码: 此代码是抄的别人的,具体是哪位博主的

    2024年02月11日
    浏览(48)
  • Qt教程3-Ubuntu(x86_64)上配置arm64(aarch64)交叉编译环境及QT编译arm64架构工程

    苦辣酸甜时光八载,春夏秋冬志此一生 Qt简介: Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。 Qt 支持的操作系统有很多,例如通用

    2024年01月23日
    浏览(51)
  • Ubuntu20.4配置arm交叉编译环境

    我是在虚拟机中配置的,如果你的嵌入式设备足够完成自己的编译,可以不考虑虚拟机的。 新安装的Ubuntu20.04系统请先执行以下代码 到aarch64下载对应的aarch64的base镜像。 之后执行如下命令,创建armsys文件夹,之后将刚下载的镜像拷贝到该文件夹下并且解压 安装一些必要的软

    2024年02月06日
    浏览(54)
  • ubuntu交叉编译Qt-5库并移植ARM开发板

    前言:本文将介绍Qt5源码方式的交叉编译及安装 下载源码包:qt-everywhere-src-5.12.8.tar.xz 官网下载网址:Index of / 依次选择: 【official_releases】 =【qt】 =【5.12】 =【5.12.8】 =【single】 =【qt-everywhere-src-5.12.8.tar.xz】 先解压QT库压缩包出来,并进入解压出来的库目录。 接下来请按以

    2023年04月08日
    浏览(44)
  • ubuntu20.04搭建arm交叉编译环境

    源码下载地址:Downloads | GNU-A Downloads – Arm Developer 要根据目标系统选择编译器版本,我的主板: aarch64bit体系结构(arm 64bit),linux内核GNU操作系统=GNU/Linux操作系统(简称linux) 大端模式(Big-endian),是指数据的高字节,保存在内存的低地址中,而数据的低字节,保存在内存

    2023年04月24日
    浏览(50)
  • ubuntu x86搭建 麒麟arm QT6交叉编译

    近期项目需求开发平台是unbuntu x86,目标机器是UOS arm架构,由于需要在不同平台上使用程序,需要建立基于QT6.32的交叉编译平台 交叉编译器 https://blog.csdn.net/zhang421412170/article/details/110952705 下载 gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz(因为我这里用的是linux平台进行编译,需要

    2024年02月13日
    浏览(47)
  • Ubuntu上搭建ARM Linux GCC交叉编译环境

    在Ubuntu操作系统上搭建ARM Linux GCC交叉编译环境是为了能够在x86架构的主机上编译运行适用于ARM架构的程序。本文将介绍详细的步骤以及相应的源代码。 安装必要的软件包 首先,我们需要安装一些必要的软件包,包括GCC、GNU Binutils和GDB。打开终端,运行以下命令来安装这些软

    2024年02月02日
    浏览(53)
  • ubuntu环境下gcc-arm交叉编译环境的搭建(ARM32 8.2)

    1.在arm官网下载gcc-arm 8.2的版本(下载arm32架构的x64上运行的版本),网址如下 https://developer.arm.com/downloads/-/gnu-a 图1 从ARM官方下载aarch32架构的交叉编译器   2.拷贝下载的交叉编译器到ubuntu系统的/opt/pkg/gcc_linaro目录,如下图所示: 图2 拷贝arm交叉编译器到gcc安装目录   3.解压gcc到

    2024年02月09日
    浏览(51)
  • Ubuntu 22.04 搭建arm-linux-gcc交叉编译环境

    如果使用的是64位的Ubuntu系统,建议直接安装64位的arm-linux-gcc交叉编译器 下载地址: https://pan.baidu.com/s/14-lQpsXuEyCcHNHcTXcOyA 提取码: 55at 0. 注意在终端进行粘贴的操作为【Ctrl+shift+v】!! 把下载好的安装包移动到根目录下的tmp目录中(/tmp):在【其他位置】中的【计算机】中找

    2024年02月05日
    浏览(76)
  • QT5交叉编译保姆级教程(arm64、mips64)

    什么是交叉编译? 简单说,就是在当前系统平台上,开发编译运行于其它平台的程序。 比如本文硬件环境是x86平台,但是编译出来的程序是在arm64架构、mips64等架构上运行 本文使用的操作系统:统信UOS家庭版22.0 一、安装QT5: 二、安装编译所需的组件 #安装python环境(QT中的

    2024年02月05日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包