为3568或3288 arm板创建交叉编译环境(采用amd64的ubuntu系统配置交叉编译arm64开发环境)(保姆级包括安装QT)超详细记录版

一. 安装QT程序

开发环境采用的是amd64 linux的系统,所以.run可以运行,我们在QT官网下载即可,版本自己选择即可,最好与后面要编译的qt对应起来

1.这里下载qt5.9.6版本的.run

在官网下载安装包

2.我们放在Downloads下面

在这里插入图片描述

3.此时我们在命令行使用./运行发现提示:

在这里插入图片描述

4.缺少可执行的权限,我们在命令行输入:

sudo chmod u+x qt-opensource-linux-x64-5.9.6.run

5.执行后该文件即可使用./直接打开,在命令行输入:

./qt-opensource-linux-x64-5.9.6.run

6.此时弹出QT安装程序

开始安装QT
在这里插入图片描述

7.next即可

到这里需要注册一个账号,不麻烦,只需要验证一下邮箱即可
在这里插入图片描述

8.安装路径必须英文,这个不多说

在这里插入图片描述

9.接下来选择组件,并同意协议

最保守的选择是全选
在这里插入图片描述
同意协议,next
在这里插入图片描述

10. 开始安装,点击install

在这里插入图片描述

11. 等待安装完成即可

在这里插入图片描述

12.安装完毕

在这里插入图片描述

13.安装交叉编译器以及配置环境

这里我直接借鉴之前老哥的网盘:

链接:https://pan.baidu.com/s/1mnpFepFY-rOlwWd3QbYZiw 提取码:5566

(1)将两个交叉编译器文件放在Downloads下面在这里插入图片描述
(2)在命令行输入:

sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar -C /opt/
sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar -C /opt/

(3)解压完毕
在这里插入图片描述
(4)配置系统的环境变量,这里有几种方法:
直接用vim修改:

sudo gedit ~/.bashrc

在这里插入图片描述

直接打开修改:在home下打开显示隐藏文件:
gedit修改:

sudo gedit ~/.bashrc

在这里插入图片描述
(5)添加交叉编译器环境,路径在:/opt/

PATH=$PATH:/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin

PATH=$PATH:/opt/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin

在这里插入图片描述
(6)配置后使得全局变量生效,命令行输入:

source ~/.bashrc

(7)验证一下编译器是否已经安装好,命令行输入:

aarch64-linux-gnu-gcc -v
arm-linux-gnueabihf-gcc -v

在这里插入图片描述
在这里插入图片描述
都显示版本号说明没有问题
(8)创建一个简单的c程序,用arm64编译器编译一下放到板子上运行

#include <stdio.h>
int main(int argc, char **argv)
{
    printf("Hello, you do it succeed!!!\n");
    return 0;
}

(9)这个hello.c建议放在/home/你的用户名/下面的文件夹内
在这里插入图片描述
在这里插入图片描述
(10)这里通过直接在文件管理器内右键就可创建文件夹,至于hello.c的创建只需要在ctest根目录下输入:

touch hello.c

直接打开并将代码放入保存即可
在这里插入图片描述
(11)对hello.c进行aarch64编译,如下图两步进行(PS: -o后面填入生成的可执行名字即可)
在这里插入图片描述
(12)生成了可执行文件的类型是aarch64,也就是arm64版本的可执行程序了,可以直接放到板子上跑了
在这里插入图片描述
(13)如下图所示板子上跑成功了,说明arm64交叉编译器已经安装成功
在这里插入图片描述

14.编译QT源码,配置交叉编译环境

在这里插入图片描述
(1)(1)对QT的源码包进行解压,输入:

sudo tar xvf qt-everywhere-src-5.12.10.tar.xz
cd qt-everywhere-src-5.12.10

(2)进入到在这里插入图片描述
该目录下,然后输入:

sudo cp -a linux-aarch64-gnu-g++/ aarch64-linux-gnu-g++/

(3)进入到aarch64-linux-gnu-g++文件夹下
在这里插入图片描述
输入:

gedit qmake.conf

(4)将下面的内容添加进去

# modifications to g++.conf
QMAKE_CC                = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc 
QMAKE_CXX               = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ 
QMAKE_LINK              = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ 
QMAKE_LINK_SHLIB        = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ 

# modifications to linux.conf
QMAKE_AR                = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY           = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objcopy
QMAKE_NM                = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc-nm  -P
QMAKE_STRIP             = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip
load(qt_config)

(5)如图所示,保存该文件
在这里插入图片描述
(6)保存过后需要进入到刚才解压的qt文件的根目录下:
在这里插入图片描述
创建build文件夹:
在这里插入图片描述
(7)进入build文件夹下,创建build.sh
在这里插入图片描述
(8)编辑build.sh文件,加入下面内容:

…/configure
-verbose
-opensource
-release
-shared
-confirm-license
-make libs
-nomake tests
-nomake examples
-skip qtmacextras
-skip qtandroidextras
-no-opengl
-xplatform aarch64-linux-gnu-g++
-prefix /opt/qt-5.12.10-linux-aarch64-gcc

在这里插入图片描述
(9)build.sh保存后需要给build.sh执行权限:

sudo chmod +x build.sh

在这里插入图片描述
(10)安装编译所依赖的库,能装的都装一下,基础的一定要安装完成

基础的编译环境:
sudo apt-get build-dep qt5-default
sudo apt-get install libxcb-xinerama0-dev
sudo apt-get install build-essential perl python git
Libxcb:
sudo apt-get install ‘^libxcb.*-dev’ libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
OpenGL:
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libegl1-mesa-dev
sudo apt-get install freeglut3-dev
Qt WebKit:
sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby
Qt WebEngine:
sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison
Qt Multimedia:
sudo apt-get install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
QDoc Documentation Generator Tool:
sudo apt install libclang-6.0-dev llvm-6.0

(11)安装完所需环境之后就可以执行build.sh来创建Makefile进行编译:
在这里插入图片描述
(12)执行:

make

在这里插入图片描述
(13)执行:

sudo make install

在编译完成后执行 make install 会将qt库安装到 -prefix 指定的目录下。
在这里插入图片描述

15.配置QT交叉编译环境

(1)打开已经安装好的QT和项目
在这里插入图片描述
(2)配置其aarch64位编译器,在Compilers中点击Add我们之前安装并配置好的交叉编译链GCC,配置路径,名称要区别开
在这里插入图片描述
(3)在Qt Versions里面配置已经编译好的qmake,位置在opt下面
在这里插入图片描述
(4)添加Kit,配置如下图所示,Name可以自定义
在这里插入图片描述
(5)点击ok之后在Projects里点击刚配置好的Kits,然后选择我们的环境,选择Release模式,点击build即可
在这里插入图片描述
(6)Build之后显示绿色已经build成功
在这里插入图片描述
(7)看到已经build好的项目
在这里插入图片描述
(8)点击进去之后看到有一个可执行文件即可,拷贝到板子上就可以用了,根据不同的程序需要特殊的全局变量的设置,相关库lib的放置等,需要在home下.bashrc文件里添加,并且使用source生效即可
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44277869/article/details/127338258