Windows10下 交叉编译aarch64(ARMv8)架构Qt库 您所在的位置:网站首页 源码编译gcc工具链 Windows10下 交叉编译aarch64(ARMv8)架构Qt库

Windows10下 交叉编译aarch64(ARMv8)架构Qt库

2023-12-18 14:05| 来源: 网络整理| 查看: 265

使用了两位大佬的方法 https://blog.csdn.net/y_q_m/article/details/120319055 https://blog.csdn.net/hanxv_1987/article/details/104671950

第一步:在Windows10下,下载并安装QtCreator

1、Qt版本:Qt5.12.11。 2、下载链接:https://download.qt.io/official_releases/qt/5.12/5.12.11/ 在这里插入图片描述

3、安装过程:略。本文安装在“D:\Softwares\Qt5.12.11”路劲下。

第二步:下载Qt5.12.11源码

1、下载链接:https://download.qt.io/official_releases/qt/5.12/5.12.11/single/ 在这里插入图片描述

将源码解压后放在“D:\Softwares\qt-everywhere-src-5.12.11”路径下。     在路径“D:\Softwares\qt-everywhere-src-5.12.11\qtbase\mkspecs”文件夹下,可以找到linux-aarch64-gnu-g++文件夹。用文本编辑器打开文件夹内的qmake.conf文件,即可查看源码编译时使用的编译器,这里默认使用的编译器是aarch64-linux-gcc和aarch64-linux-g++。

第三步:下载交叉编译器

1、交叉编译器名称:gcc-arm-11.2-2022.02-mingw-w64-i686-aarch64-none-linux-gnu 2、下载路径:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads

3、安装路径    将gcc-arm-11.2-2022.02-mingw-w64-i686-aarch64-none-linux-gnu.tar.xz解压后(用7-zip软件),放在D盘Softwares文件夹下。

第四步:安装关联软件 一、安装Active Perl

1、下载地址:https://www.perl.org/get.html,下载Window10 架构下的ActivePerl 5.12以上版本。 在这里插入图片描述

2、设置环境变量:安装完成后将“\bin”添加至环境变量。

二、安装python

1、下载地址:https://www.python.org/downloads,下载Window10 架构下的Python2.7以上版本。 2、设置环境变量:安装完成后将“\bin”添加至环境变量。

三、安装MinGW开发工具集

1、下载地址:https://download.csdn.net/download/yue_chen/10412191,下载Window10 架构下的64位版本。 2、直接解压,然后放在“D:\Softwares\MinGW64”路径下。 3、设置环境变量:将“D:\Softwares\MinGW64\bin”添加至环境变量。 4、安装Qt Creator时,已安装“MinGW工具”,所以此步骤不一定需要。

第五步:编译Qt源码 一、打开Windows10下命令行

一定,务必,要通过“Qt Creator”打开命令行,如下图。千万不用通过“cmd”打开。 在这里插入图片描述

二、在命令行下,进入Qt源码目录

在命令行下,通过“cd D:\Softwares\qt-everywhere-src-5.12.11”命令,进入Qt源码目录。 在这里插入图片描述

三、编译配置(耗时约3分钟)

1、在命令行下,执行configure.bat -release -opensource -prefix D:\Softwares\Qt5.12.11-ARMv8 -nomake tests -nomake examples -no-opengl -skip qtvirtualkeyboard -platform win32-g++ -xplatform linux-aarch64-gnu-g++命令。 在这里插入图片描述

2、根据命令行提示,输入y,最后完成编译配置。

3、配置属性说明: 3.1 -release:编译release版本。 3.2 -opensource:表示开源许可; 3.3 -prefix Qt安装路径。根据上文命令,编译好的Qt库放在D:\Softwares\Qt5.12.11-ARMv8目录下。 3.4 -nomake:表示不编译后面参数指定的模块; 3.5 -no-opengl 表示不安装OpenGL。 3.6 -skip 表示不安装的qt工具包,工具包的名称即为源码路径下的文件夹名称。-skip qtvirtualkeyboard表示跳过qtvirtualkeyboard,没有相应库环境,不编译,否则编译和安装过程中可能会报错。 3.7 -platform:为win32-g++,即指定本地编译器配置目录,到qtbase\mkspecs\ win32-g++目录里读取qmake.conf文件,找到本地编译工具来编译qmake。 3.8 -xplatform 表示使用源码路径qtbase\mkspecs\linux-aarch64-gnu-g++文件夹内的配置,编译时会自动去该路径下找到配置文件进行编译。

在命令行内输入“configure -help”命令,可查看详细配置说明。

四、编译(耗时约3小时)

在命令行下,执行mingw32-make -j2命令,完成编译。

五、安装(耗时约20分钟)

在命令行下,执行mingw32-make install命令,完成安装。

第六步:配置Qt Creator

QtCreator4.9.1的配置过程和之前的QtCreator版本配置项相同,配置位置略有差异,主要配置流程如下: 1、配置QMake 打开“工具->选项->kits”,选择Qt Version页面 在这里插入图片描述

点击右侧添加按键,选择编译出的源码路径下的bin文件(就是配置Qt源码编译后存放编译结果的那个路径)夹内的QMake.exe即可。 在这里插入图片描述

2、配置编译器Compilers 该部分主要添加C++和C的编译器,用于编译arm版本的代码, 设置GCC的C编译器,打开“工具->kits->编译器(Compilers)” 在这里插入图片描述

右侧选择“添加->GCC->C”,编译器路径即为gnu工具中的C编译器aarch64-linux-gnu-gcc所在路径,ABI设置为arm-linux-generic-elf-64bit 设置GCC的C++编译器,打开“工具->kits->编译器(Compilers)”,右侧选择“添加->GCC->C++”,编译器路径即为gnu工具中的C++编译器aarch64-linux-gnu-g++所在路径,ABI设置为arm-linux-generic-elf-64bit 在这里插入图片描述

配置完成后在kits的编译器页面会出现对应的配置项,如下 在这里插入图片描述

3、配置Debuggers 该部分配置调试工具,使用gnu编译器所在文件夹下的gdb调试工具, 打开“工具->选项->kits->Debuggers”,点击Add添加新的调试工具,这里选择gnu编译工具集合下的aarch64-linux-gnu-gdb工具,在gnu工具下的aarch64-linux\bin路径 在这里插入图片描述

配置结束后会在Debuggers页面下新增调试工具 在这里插入图片描述

4、配置CMake 该部分用于编译得到嵌入式系统下的执行程序或者库文件,使用QtCreator自带的CMake编译工具,个人理解这里的CMake是交叉编译工具,之前配置的QMake是Qt代码的编译工具 依次选择“工具->选项->Kits->CMake”,点击Add按键添加新的编译工具,选择添加mingw32-make.exe,所在路径 “ \Tools\mingw730_64\bin\mingw32-make.exe” 在这里插入图片描述

配置成功后在CMake页面会有显示 在这里插入图片描述

4、添加Arm64的编译环境(构建套件Kits) 5、该部分用于配置编译Qt代码时的编译环境,基本是将前面的配置内容添加到编译环境里 6、依次选择“工具->选项->Kits->构建套件(Kit)”,点击右侧Add按键进行配置,配置项目选择前面配置好的内容即可,主要配置内容见下图 在这里插入图片描述

配置完成后再次进到该“构建套件(Kit)”页面会有如下显示,其中linux_arm64为新增加的编译环境,前面两个是QtCreator安装时配置好的构建环境 在这里插入图片描述

第七步,创建Qt工程验证

目前QtCreator编译linux arm64的环境已经已经配置完成,验证是否可以进行编译, Ctrl+N创建一个新的桌面应用程序,构建套件时选择linux_arm64即可 在这里插入图片描述

待程序创建好后,在工作窗口左侧“项目”界面修改Override make选项,点击Make选项右侧的详情即可列出override make栏,选择QtCreator安装路径下的\Tools\mingw730_64\bin\mingw32-make.exe。 在这里插入图片描述

然后ctrl+b进行工程编译即可,debug和profile模式设置类似,将上图中Release选项调整为debug或者profile即可,仍旧是设置override make栏。 编译生成的执行程序或者库文件见上图中“构建目录”中列出的路径,注意只能编译,而不能运行。

容易踩到的坑

一.打不开make进程 如果交叉编译项目时报错打不开make进程, 将安装好的qt地址中的mingw中bin目录下的mingw32-make.exe复制一份改名为make.exe即可。因为windows上名字叫mingw32-make,linux上名字叫make,所以在windows上交叉编译时会找不到make,所以打不开进程。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有