QT配置arm-linux-g++交叉编译器

这篇具有很好参考价值的文章主要介绍了QT配置arm-linux-g++交叉编译器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需要准备的材料

ubuntu16.4版本虚拟机
qt5.12.9版本 ,qt-everywhere-src-5.12.9(版本要一致,没试过版本不同是否可行)
(qt5.15.2 qt5.14.2都装了下,按照以下流程都是完全没错误)
arm-linux-g++4.8.3版本

由于最近接手公司离职员工的代码,通常我个人都是直接写Makefile来完成,对方用的Qt配合交叉编译器使用的,由于代码太乱,还有一堆没用的源码,目录层次也太乱了,索性就按照人家的玩吧,头次琢磨这个,从网上搜的感觉像是一些培训机构里的学生把培训机构教的很固有的东西直接搬上来当教材,遇到各种问题找不到解决办法,到处翻文档总结了下。

在qt-everywhere-src-5.12.9目录下创建了个build(看个人习惯吧,也可以直接把脚本写在当前的目录),在这个目录下写了个脚本,configure.sh ,用来执行configure配置信息的。

这个配置相当关键了,之前弄了好几天,怀疑主要错误就是在这个配置不当上了

#! /bin/sh

../configure \
-prefix /home/wht/qt5.15.2-arm \
-opensource \
-confirm-license \
-release \
-xplatform linux-arm-guneabi-g++ \
-make libs \
-nomake examples \
-nomake tools \
-nomake tests \
-no-openssl	\
-no-opengl	\
-skip qt3d	\
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcharts	\
-skip qtconnectivity	\
-skip qtdatavis3d	\
-skip qtdeclarative \
-skip qtdoc	\
-skip qtgamepad	\
-skip qtimageformats	\
-skip qtlocation	\
-skip qtmacextras	\
-skip qtmultimedia	\
-skip qtnetworkauth	\
-skip qtpurchasing	\
-skip qtquickcontrols	\
-skip qtquickcontrols2	\
-skip qtremoteobjects	\
-skip qtscript	\
-skip qtscxml	\
-skip qtsensors	\
-skip qtserialbus	\
-skip qtserialport	\
-skip qtspeech	\
-skip qtsvg	\
-skip qttools	\
-skip qttranslations	\
-skip qtvirtualkeyboard	\
-skip qtwayland	\
-skip qtwebchannel	\
-skip qtwebglplugin	\
-skip qtwebsockets	\
-skip qtwebview	\
-skip qtwinextras	\
-skip qtx11extras	\
-skip qtxmlpatterns

-prefix 这个配置用来生成的文件保存的目录
-xplatform 配置交叉编译器的脚本(这里要配置一个文件)
-skip 都是跳过的信息 ,如果有哪些模块是自己使用的,可以删掉

要注意了 \ 换行后面不要有空格,有些人会用windows写脚本,容易发生/bin/sh^M:这个解释器的错误,如果遇到了搜搜 sed命令来解决 换行问题。

qt-everywhere-src-5.12.9/qtbase/mkspecs/ 这个路径下配置使用的交叉编译器(关于交叉编译器配置,满网站都是,随处可以搜的到)

可以创建一个新的目录用来配置,也可以直接选个觉得自己有用的就可以了,我个人是在本来就有的一个路径linux-arm-gnueabi-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                = arm-linux-gcc  
QMAKE_CXX               = arm-linux-g++
QMAKE_LINK              = arm-linux-g++
QMAKE_LINK_SHLIB        = arm-linux-g++

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

回到build目录下执行configure.sh脚本,成功后显示 'run make’的字样,无ERROR,执行make(好多帖子使用多线程make,各种问题,就直接make吧,多线程也没节省多少时间)

如果使用其他的qt版本,遇到以下问题,直接删除这行,我这个是按照qt5.12.9版本的模块,有些版本可能模块不同,以下这个错误是当时用5.15.2版本后,直接把脚本放到5.12.9上使用,突然发现有些模块是没有的。
Project ERROR: -skip command line argument used with non-existent module ‘qtlottie’.

执行完毕没有错误,就是下面这提示,运行 make指令了,这个过程相当长了,我这公司的电脑运行了2-3小时才结束,结束没错误后,make install
QT配置arm-linux-g++交叉编译器,qt,arm开发,linux

由于我在执行过程中完全没遇到错误,如果看到帖子的有遇到问题的,欢迎留言。

最后一步配置QtCreator使用交叉编译器 (由于我这个当前的还没make完,所以用了之前做好了的5.15.2的做演示,添加配置都一样的)
QT配置arm-linux-g++交叉编译器,qt,arm开发,linux
浏览的是自己存放交叉编译器的地方,我这里是使用了arm-linux-g++的,两个都添加下。

看到蓝色的地方,就是之前-prefix 配置的目录,找到bin目录,里面有个qmake。
QT配置arm-linux-g++交叉编译器,qt,arm开发,linux
这里出现了个黄叹号 NO QML utility installed ,我也没整明白啥错误,也没解决,但是我试了下,可以正常编译,所以就没理这个错误。

QT配置arm-linux-g++交叉编译器,qt,arm开发,linux
把前面添加的qmake 和 交叉编译器路径信息添加后 OK

QT配置arm-linux-g++交叉编译器,qt,arm开发,linux

编译成功文章来源地址https://www.toymoban.com/news/detail-806351.html

到了这里,关于QT配置arm-linux-g++交叉编译器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • arm系列交叉编译器各版本区别

    交叉编译器的命名规则:arch [-vendor] [-os] [-(gnu)eabi] [-language] arch - 体系架构, 如arm(ARM-32bit)、aarch64(ARM-64bit)、x86等; vendor -工具链提供商,经常省略,或用 none 替代; os - 目标操作系统, 如linux,没针对具体 os 则 用 none 替代。同时没有 vendor 和os 使用一个 none 替代。

    2024年02月01日
    浏览(61)
  • Qt配置使用MSVC编译器

      Qt配置使用MSVC编译器_qt msvc-CSDN博客 注意:Qt支持的MSVC就是2017和2015,所以vs也要下载2017,不要直接用最新的,安装路径都用默认的。程序运行失败时可以尝试windeployqt拷贝库文件到本地,然后有可能就能运行了。VS官网下载Visual Studio Community 2017,在线安装Visual Studio Community

    2024年02月09日
    浏览(47)
  • 交叉编译器介绍

    简介 ​ 要在 X86 的电脑上编译出能够在 Arm 上运行的程序,我们必须明确告诉编译器,编译生成的可执行文件需要以 Arm 指令集的标准编码。开发者们为不同的芯片开发了不同的编译器,比如针对 Arm 平台的 arm-linux-gcc,针对 mips 平台的 mips-linux-gnu-gcc,这些编译器都是基于 G

    2024年02月06日
    浏览(63)
  • Linux-Arm环境下配置编译qt-everywhere及交叉编译环境

    最近在搞交叉编译的事,手上拿了个同事的香橙派玩交叉编译,现在来到了第一步,就是先在arm上配置qt的开发环境。当然了Qt没有直接提供qt on arm,而是需要自行在arm环境下编译一个qt环境出来,所以这里需要使用到qt提供的qt everywhere套件在板载系统上编译 移植Qt到ARM平台及

    2024年04月11日
    浏览(52)
  • 如何在Qt中配置MSVC编译器链接器参数?

    原标题:掌握VS项目配置 【进阶】— 编译器链接器配置 在上一篇基础篇中,我们主要探讨了VS的构造系统模型,了解了VS项目最基本的输入输出配置。输入输出是系统对外的功能接口,是系统最基础的部分。 在本章的进阶篇中,我们要探讨构造系统的内部参数。内部参数用于

    2024年02月15日
    浏览(54)
  • Qt Creator -- 详细安装教程以及配置Android编译器环境(Android studio)

    目录 前言 今天我们就讲解一下如何在 Qt Creator 中配置 Android 开发环境 一 安装 -- Android studio 1. 安装包 (1)百度网盘 (2)官网链接  2.安装教程 (1)查看引用路径 二 安装 -- Qt Creator 1. 版本选择 (1)版本自选 (2)博主版本 2. Qt Creator 安装步骤 3. Android 编译器配置 三 新建

    2024年02月12日
    浏览(59)
  • [笔记]ARMv7/ARMv8 交叉编译器下载

    开发 Cortex-A7、Cortex-A72 或其他 ARM 架构 profile 芯片时,经常需要下载对应架构的交叉编译器,所以写这篇笔记,用于记录一下交叉编译器下载流程,免得搞忘。 编译环境:ubuntu 虚拟机 下载地址 我们可以从 ARM 官网的 Arm Developer下载交叉编译器,这个网站也包含几乎所有的 A

    2024年02月02日
    浏览(51)
  • riscv-gnu-toolchain 交叉编译器如何构建?

    这个指令在编译完成后会自动安装到“/opt/riscv/gcc”目录,由于要操作“/opt/riscv/gcc”目录需要超级管理员权限,所以我们要记得加上 sudo 切换到“/opt/riscv/gcc/bin”目录下,执行如下指令 看是否有riscv64-unknown-elf-gcc版本信息

    2024年04月22日
    浏览(42)
  • ARM嵌入式编译器编译优化选项 -O

    Arm嵌入式编译器可以执行一些优化来减少代码量并提高应用程序的性能。不同的优化级别有不同的优化目标,不仅如此,针对某个目标进行优化会对其他目标产生影响。比如想减小生成的代码量,势必会影响到该代码的性能。所以优化级别总是这些不同目标(代码量,程序性

    2024年02月16日
    浏览(64)
  • ARM编译器5.06下载安装

    进入官方网站ARM Complier v5.06官网下载页面 进入后的界面为 往下翻,找到如图位置的5.06 for windows的文件,点击下载,下载时需要登录账号 先解压下载的压缩文件,在installer文件夹里面有一个 setup.exe 文件,双击它, 同意协议,在安装位置选择 keil 安装位置的 ARM 文件夹下,在

    2024年02月22日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包