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 

QT5.12.5移植到ARM平台下_第1张图片

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

QT5.12.5移植到ARM平台下_第2张图片

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

QT5.12.5移植到ARM平台下_第3张图片

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平台下的交叉编译器

QT5.12.5移植到ARM平台下_第4张图片

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

QT5.12.5移植到ARM平台下_第5张图片

5.编译和安装

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

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

cd /home/wu/qt5
ls

三. 设置QtCreator编译环境

首先参考这篇文章《【TOOLS】ubuntu如何安装QtCreator》安装QtCreator工具。

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

QT5.12.5移植到ARM平台下_第6张图片2.切换到Qt Versions标签,点击“Add”按钮,选择qmake,如图所示:

QT5.12.5移植到ARM平台下_第7张图片3.切换到Kits标签,点击“Add”按钮,将上面设置的CompilersQt Versions添加到新的配置,然后设置如下图所示:

QT5.12.5移植到ARM平台下_第8张图片

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

QT5.12.5移植到ARM平台下_第9张图片

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

QT5.12.5移植到ARM平台下_第10张图片

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

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

qmake

make

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

QT5.12.5移植到ARM平台下_第11张图片

你可能感兴趣的:(qt,arm开发,linux)