这位博主写的是对的
在ARM64 linux平台运行QT程序_arm linux qt-CSDN博客
先在交叉编译器官网下载arm相关的交叉编译器 然后下载qt源码 再进行编译(有些脚本跟随交叉编译器稍微改改就行)。只要按照博主的来就可以实现
poky交叉编译工具链(自带qmake)比通用的ARM编译更加简单,但是主要适用于嵌入式linux开发。这两者都可以在出厂系统里面跑,无论出厂系统是由什么编译
安装
Poky
交叉编译工具链
执行下面的指令修改脚本的权限,修改权限后可以看到此脚本颜色显示改变,说明修改成功。
chmod u+x fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh
直接执行脚本安装交叉编译工具,连续敲下两次回车键确认,再输入用户密码即可。本次 安装的目录为脚本所指定的默认安装的目录,后面的内核编译环境的交叉编译都是按这个安装 目录去操作,所以建议用户也是默认安装到/opt/fsl-imx-x11/4.1.15-2.1.0 这个默认目录。
./fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh
使用方法也十分简单,根据上面打印出来的提示,直接使能环境变量就可以了。但是在不
同终端或者切换用户时需要重新使能环境变量方可使用。
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
使能环境变量后可以使用
env
指令查看生效的环境变量,下图为部分截图,可以看出使能
了这个环境变量后
gcc
已经配置好编译时所用的参数,如硬浮点参数
-mfpu=neon -mfloat-abi=h
ard
。使用硬浮点交叉编译,可以使用
CPU
自带
FPU
。下图为环境变量部分截图。qmake其实也看得到。
使用
arm-poky-linux-gnueabi-gcc -v
指令可以查看
gcc
版本,表明环境变量已经生效。
要使用此编译器编译内核和
U-boot
还需要安装以下软件。
sudo apt-get update // 先更新软列表(本地数据库) sudo apt-get install lzop // 安装 lzop 工具,用于生成压缩或解压镜像 sudo apt-get install libncurses* // 安装 ncurese 相关库,U-boot 或者内核菜单显示时需要
这么理解吧。如果直接用板卡的出厂系统,那么就规定用某一种编译器(我的板卡用的是poky,就要同步一下),当你自己裁剪和移植uboot和系统以及驱动的时候,你自己可以随意选择。总体来说poky更简单,因为集成了很多工具,也不用编译qt源码获取qmake,但是体量比通用更大。
后续必须要用命令打开QTC才行