Qt5.12.0 交叉编译搭建

一、环境

ubuntu版本:16.04

qt版本5.12

arm开发板:全志H5,RK3399

说明:在ubuntu下进行编译,将编译好的so,拷贝到arm下

二、步骤

  1.获取QT源码,以及arm64位的交叉编译器

wget http://download.qt.io/archive/qt/5.12/5.12.0/single/qt-everywhere-src-5.12.0.tar.xz

    交叉编译器:

    链接:https://pan.baidu.com/s/11mpoZZJQtrzw9LlgT4Qt0g 

    提取码:otrc 

 

  2.解压以及配置

    将QT源码以及交叉编译器 解压,在QT源码里修改 qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf 文件

QMAKE_CC                = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc 
QMAKE_CXX               = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK              = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB        = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
# modifications to linux.conf
QMAKE_AR                = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY           = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objcopy
QMAKE_NM                = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-nm -P
QMAKE_STRIP             = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip

    回到qt-everywhere-src-5.12.0目录,继续配置,输入以下命令

./configure -recheck-all -release -extprefix /opt/aarch64_qt5.12.0 -xplatform linux-aarch64-gnu-g++ -no-opengl -no-openssl -nomake tests -no-compile-examples -nomake examples -gif -ico -qt-libpng -qt-libjpeg -qt-sqlite

    会弹出提示,输入o回车再输入y

  3.编译

make -j32 2>&1 | tee build.log

  4.安装

sudo make install

        5.测试

   将生成的/opt/aarch64_qt5.12.0 目录拷贝到arm开发板上,并修改环境变量;将编译出来qmake配置到ubuntu上的qt creator上,能编译出arm格式的可执行文件。

   将可执行文件拷贝到arm下执行

  

ok以上操作都很顺利的完成

 

posted @ 2019-01-04 10:17  yydsLinux  阅读(4516)  评论(0编辑  收藏  举报