1.交叉编译工具链路径
解压下载的交叉编译工具链gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz
进入文件夹的bin目录,可以看到各个工具
2.配置QT对应交叉编译工具设置
找到对应版本的QT编译设置文件
设置qmake.conf
3.编译前配置
新建一个编译目录
进入目录,输入配置命令:
这里指定当前目录的qtbase目录下作为编译生成目录 xplatform指定交叉编译工具链
sudo …/5.12.12/Src/configure -prefix $PWD/qtbase -opensource -xplatform linux-aarch64-gnu-g++ -shared -verbose -qt-zlib -opengl -no-gif -qt-libjpeg -no-opengl -no-openssl -nomake tools -qt-libpng -nomake examples
配置说明:https://doc.qt.io/qt-5/configure-options.html
https://blog.csdn.net/xi_gua_gua/article/details/53413930
结果:
4.编译
没有进入sudo权限需要输入sudo make -j4
输入 sudo make install,报错未找到python,qtqml编译需要python,配置的时候应该可以跳过qml?我机器上有python只是找不到,拷贝一下。如果没有python需要sudo apt install python安装一下
生成目录:
5.安装其他模块
安装multimedia模块:make -j4 module-qtmultimedia
QT中使用交叉编译工具链编译生成运行在rk3566的程序
编译器设置
刚刚编译的aarch64版本的qt设置
添加一个Kits,选择刚刚创建的编译器和QT版本
工程编译时,选择刚刚添加的Kits
编译成功,用file指令查看生成的文件,果然是aarch64格式二进制文件(此系统版本为x86_64)