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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 指向类成员函数的指针其实并非指针

    指向类成员函数的指针其实并非指针

    对于指向类成员的指针,必须紧记,指向类成员(非static)的指针并非指针
    2013-08-08
  • cocos2dx实现刮奖效果

    cocos2dx实现刮奖效果

    这篇文章主要为大家详细介绍了cocos2dx实现刮奖效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • C++实现播放音频的示例详解

    C++实现播放音频的示例详解

    这篇文章主要为大家详细介绍了C++如何利用第三方库实现播放音频的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • C语言结构体计算内存占用问题解析

    C语言结构体计算内存占用问题解析

    这篇文章主要介绍了C语言结构体计算内存占用问题解析,本文通过案例来解析了C语言计算结构体内存的方式和方法,需要的朋友可以参考下
    2021-07-07
  • 关于C语言 const 和 define 区别

    关于C语言 const 和 define 区别

    这篇文章主要介绍了关于C语言 const 和 define 区别 的相关资料,需要的朋友可以参考下面文章内容
    2021-09-09
  • C语言实现简单的抽奖系统

    C语言实现简单的抽奖系统

    这篇文章主要为大家详细介绍了C语言实现简单的抽奖系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • C语言的多级指针你了解吗

    C语言的多级指针你了解吗

    这篇文章主要介绍了C语言中的多级指针,本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下,希望能给你带来帮助
    2021-08-08
  • C++空指针void*的使用方法

    C++空指针void*的使用方法

    C++空指针void是一种通用指针类型,可以指向任何类型的数据或对象。它不关心指向的数据或对象的类型,只关心指针本身的地址,在使用void指针时,需要将其转换为特定类型的指针,以便对其进行操作或访问其值,本文就给大家介绍一下C++空指针void的使用方法
    2023-06-06
  • C语言简明清晰讲解枚举

    C语言简明清晰讲解枚举

    枚举法的本质就是从所有候选答案中去搜索正确的解,枚举算法简单粗暴,他暴力的枚举所有可能,尽可能地尝试所有的方法,感兴趣的朋友来看看吧
    2022-05-05
  • C++连接并使用MySQL数据库

    C++连接并使用MySQL数据库

    这篇文章主要为大家详细介绍了C++连接并使用MySQL数据库,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07

最新评论