下载安装通用交叉编译器
1.1 下载通用交叉编译器
1.2 安装通用交叉编译器
1.3 验证通用交叉编译器
此部分内容略,前面文章有介绍!
M1808使用的是这个
CROSS_COMPILE=aarch64-linux-gnu-
zlg推荐让用这个,其实系统用这个编译的,这个包也必须用这个 交叉编译器编译
获取和编译 Qt 5.12.9
2.1 获取 Qt
我们可以在 Qt 下载地址 https://download.qt.io/找到 https://download.qt.io/archive/qt/5.12/5.12.9/si
ngle/,进入下载页面如下。
在 Windows 上下载好上面 qt-everywhere-src-5.12.9.tar.xz 源码拷贝到 Ubuntu 虚拟机下。
解压:
tar xf qt-everywhere-src-5.12.9.tar.xz
在当前目录出现 qt-everywhere-src-5.12.9 目录夹,此文件夹就是我们解压后的目录。进入此目
录。
cd qt-everywhere-src-5.12.9/
ls
2.2 修改 qmake.conf
编辑 mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf,配置相关编译器及路径。
vi qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
2.3 配置编译选项
查看编译选项,输入./configure -help 指令,查看可配置选项。
./configure -help
由于配置较长,按需要编译,编者总结了配置项,写了一个脚本。
这个脚本是根据上面那个./configure 配置的
vi autoconfigure.sh
在这个 autoconfigure.sh 添加以下内容。复制时注意,每行前面不要留空格。
其中红色加粗部分为编者个人的路径,请修改成个人路径。
(1) ./configure -prefix /home/hann/m1808/thirdpart/qt-everywhere-src-5.12.9/arm-qt \ 为编译输出路径。
(2)-I/home/hann/m1808/thirdpart/tslib-1.21/arm-tslib/include \ 为前文 tslib 头文件路径。
(3) -L/home/hann/m1808/thirdpart/tslib-1.21/arm-tslib/lib \ 为前文tslib 相关库文件路径。
注意: 每行配置后面都有一个/ ,这个/之后是没有空格的
赋予脚本可执行权限。
chmod +x autoconfigure.sh
直接执行 autoconfigure.sh。配置需要一段时间,请耐心等待!
sudo apt-get install g++ // 配置前请先安装 g++
./autoconfigure.sh
配置完成如下。若未见此信息,请检查个人配置
2.4 开始编译 Qt5.12.9 源码
直接执行 make 开始编译。
time (make -j 16) // -j 16 代表最多允许 16 条编译指令同时运行,参数 16,一般为
个人分配给虚拟机的核心数的 2 倍,前面加个 time 是测试编译时间。
也可直接make
除了配置错误,几乎不可能有编译错误的!
执行安装指令后,查看安装后的内容。
make install
ls arm-qt
3 移植 Qt 到文件系统
没有板子我也没做呢,未完待续…
后来有了板子,忘了这篇文章了,好尴尬…