QT5.12.5移植到ARM平台下的方法步骤

 更新时间:2024年01月03日 10:22:43   作者:----云烟----  
本文主要介绍了QT5.12.5移植到ARM平台下的方法步骤,包括修改配置文件、代码修改以及测试运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一 、安装arm-linux-gcc交叉编译工具链

我用第一种方法去编译QT源码成功的,第二种方法好像不行。

方法一

sudo apt-get install gcc-arm-linux-gnueabihf

sudo apt-get install g++-arm-linux-gnueabihf

查看arm-linux-gnueabihf-gcc的位置

whereis arm-linux-gnueabihf-gcc

which arm-linux-gnueabihf-gcc

方法二 去网站下载ubantu对应的交叉编译器

例如:arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2

1.解压

tar -xjvf arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2 

2.创建目录并赋予权限存放解压的目录

sudo mkdir /usr/local/arm

sudo chmod 777 /usr/local/arm

3。复制文件到创建好的目录中

sudo cp -r gcc-4.6.4 /usr/local/arm

4.添加环境变量

sudo vi /etc/profile


export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib

5.重启该文件

source /etc/profile

6.检验安装成功

 arm-linux-gcc -v

7.编译文件,查看文件是不是arm的可执行文件

arm-linux-gcc test_1.c -o test_1

如果编译不行的话,可以在下面文件添加一下,看看能否成功

sudo vi ~/.bashrc

export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib

二 编译QT官方源码

2.1 QT5.12.5官方源码下载

Index of /archive/qt/5.12/5.12.5/single

2.2 编译QT5.12.5官方源码

1.解压

tar -vxf qt-everywhere-src-5.15.2.tar.xz
cd qt-everywhere-src-5.15.2

2.修改交叉编译架构用到的信息

vim qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

改为你对应的下载的arm平台下的交叉编译器

3.创建一个脚本文件,用于生成Makefile,在qt编译根目录执行命令

vim autoConfigure.sh

输入以下内容

#!/bin/bash
./configure -prefix /home/wu/qt5 \
-release \
-opensource \
-no-accessibility \
-make libs \
-xplatform linux-arm-gnueabi-g++ \
-optimized-qmake \
-pch \
-qt-zlib \
-qt-freetype \
-tslib \
-skip qtlocation \
-no-iconv \
-no-opengl \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-pkg-config \
-no-separate-debug-info \

-prefix /home/wu/qt5 :代表着是生成的库文件的目录

4.执行命令会生成Makefile文件

chmod 777 qt.configure.sh
./autoConfigure.sh

5.编译和安装

1. make -j8 // -j8为8线程编译,可根据服务配置调整参数
2. sudo make install // 将tslib安装到指定目录

6.切换目录,查看目录是否生成东西

cd /home/wu/qt5
ls

三. 设置QtCreator编译环境

首先安装QtCreator工具。安装步骤及下载地址

1.进入QtCreator开发环境,在菜单中选择Tools->Options,在弹出的对话框中,选择Kits,选择标签Compilers,按下图设置,选择手动添加C(GCC)和C++(G++)交叉编译器,如下图所示

2.切换到Qt Versions标签,点击“Add”按钮,选择qmake,如图所示:

3.切换到Kits标签,点击“Add”按钮,将上面设置的CompilersQt Versions添加到新的配置,然后设置如下图所示:

4.保存以上的配置后,创建一个新的工程进行测试,创建时选择新添加的Kits:

5.点击构建 验证是配置后的ARM交叉工具链编译,并且编译成功:

6.在Debug的目录下可以看见生成的test_9可执行文件

也可以通过另一种方法生成可执行文件,进入那个创建目录的文件夹

qmake
make

qmake生成Makefile文件,make生成test_9可执行文件(这个生成的不是arm的可执行文件)

到此这篇关于QT5.12.5移植到ARM平台下的方法步骤的文章就介绍到这了,更多相关QT5.12.5移植到ARM内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • kernel劫持modprobe path内容详解

    kernel劫持modprobe path内容详解

    这篇文章主要为大家介绍了kernel劫持modprobe path的内容详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • C++ 类的继承与派生实例详解

    C++ 类的继承与派生实例详解

    这篇文章主要介绍了 C++ 类的继承与派生实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • C++指针与引用的异同

    C++指针与引用的异同

    这篇文章主要介绍了C++指针与引用的异同,文章以C++指针与引用的相关资料结合指针和引用的相同点和区别展开详细内容,需要的朋友可以参考一下
    2021-11-11
  • C++抽象基类讲解

    C++抽象基类讲解

    这篇文章主要介绍了C++抽象基类讲解,象基类abstract base class简称ABC,C++实现继承的时候,需要保证派生类和基类之间是一种is-a的关系。在大多数时刻,这样的关系是没有问题的,然而在一些特殊的情况可能会遇到问题,下面来看看文章的具体介绍吧
    2022-01-01
  • C语言中feof函数和ferror函数示例详解

    C语言中feof函数和ferror函数示例详解

    在C语言中feof函数用于检查文件流的结束标志,判断文件在读取时是否已经到达了文件的末尾,这篇文章主要给大家介绍了关于C语言中feof函数和ferror函数的相关资料,需要的朋友可以参考下
    2024-09-09
  • C++标准库实现WAV文件读写的操作

    C++标准库实现WAV文件读写的操作

    本文将使用标准C++库实现对数据为PCM格式的WAV文件的读写操作,只使用标准C++库函数,不依赖于其他的库,对C++标准库实现WAV文件读写相关知识感兴趣的朋友一起看看吧
    2022-01-01
  • CRC校验原理及其C语言实现详解

    CRC校验原理及其C语言实现详解

    循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术。本文主要介绍了CRC校验原理及其C语言实现,感兴趣的可以了解一下
    2023-03-03
  • 详解C语言解决经典问题之兔子产子

    详解C语言解决经典问题之兔子产子

    有一对兔子,从出生后的第 3 个月起每个月都生一对兔子。小兔子长到第 3 个月后每个月又生一对兔子,假设所有的兔子都不死,问 30 个月内每个月的兔子总数为多少?本文将用C语言解决这一经典问题,需要的可以参考一下
    2022-03-03
  • C++多线程中互斥量的使用详解

    C++多线程中互斥量的使用详解

    这篇文章主要介绍了C++多线程中互斥量的使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • c语言阶乘之和问题示例详解

    c语言阶乘之和问题示例详解

    这篇文章主要给大家介绍了关于c语言阶乘之和问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c语言具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08

最新评论