Qt5之海思交叉编译笔记

一、搭建环境

    Win7 + VMware15 + Ubuntu16.04(64位) + Qt5.9.9

    交叉工具链:arm-hisiv500-linux-

二、交叉编译

    1)下载源码 

        http://download.qt.io/archive/qt/

        当前我下载了和我的 Qt 同一个版本的源码 qt-everywhere-opensource-src-5.9.9.tar.xz 。并将其下载到 Linux 系统下,当前我存放在 /home/work/tools/ 目录下。然后解压源码包。

xz -d qt-everywhere-opensource-src-5.9.9.tar.xz
tar -xvf qt-everywhere-opensource-src-5.9.9.tar

        之后就会得到一个 qt-everywhere-opensource-src-5.9.9 的目录 ,之后 cd 进入即可。

    2)配置编译环境

./configure -prefix /opt/qt_hisiv500 -release -opensource -qt-libpng -qt-libjpeg -plugin-sql-sqlite -widgets -no-iconv -no-dbus -no-openssl -no-iconv -no-accessibility -no-sse2 -silent -xplatform linux-arm-gnueabi-g++ -nomake tools -nomake examples -nomake tests -qt-freetype -no-glib -strip -linuxfb -no-opengl

     注意:-prefix 后面这个 /opt/qt_hisiv500 是后面安装的路径,可自行修改 !!!

        以下根据提示输入 y 即可 

Qt5之海思交叉编译笔记_第1张图片

 

Qt5之海思交叉编译笔记_第2张图片

   3)修改交叉编译器

        当我们配置成功之后 ,当前目录就会有一个 Makefile 文件, 在这文件中搜索 qmake.conf ,这个就是我们需要修改的文件

Qt5之海思交叉编译笔记_第3张图片

        上图中我们可以看出 qmake.conf 文件所在的路径,打开这个文件如下图所示

Qt5之海思交叉编译笔记_第4张图片

         上图中 arm-linux-gnueabi- 是默认的交叉编译器,我们需要改成自己需要的交叉编译器即可,如下所示

Qt5之海思交叉编译笔记_第5张图片

    4)编译

make

 

Qt5之海思交叉编译笔记_第6张图片

    5)安装

make install

 

Qt5之海思交叉编译笔记_第7张图片

         上图看出在 /opt 目录下多出来一个 qt_hisiv500 的目录

        在 qt_hisiv500/bin 目录下有一个 qmake 工具 ,这个是最常用的,之后会使用这个交叉编译代码,之后就可以在 ARM 板子上运行了。  

三、测试

    1)新建 Qt5 项目

        这个步骤此处省略,当前已经建好Qt工程 ,不一定是 Qt 的界面工程,也可以是 Qt 的纯 C 工程或者是 纯 C++ 工程。

         上图是一个 Qt5 界面工程,可以使用 Qt5 打开并且运行,但是此处使用 qmake 自己编译。

    2)使用 Qt 自带的 qmake 编译工程

        我的 Qt5.9.9 安装在 /opt/Qt5.9.9 目录下,所以自带的 qmake 所在目录如下

    使用Qt5自带的 qmake 生成 Makefile

        在 Qt 工程目录下输入一下命令

/opt/Qt5.9.9/5.9.9/gcc_64/bin/qmake

 

       上图可以看出输入命令之后就有一个 Makefile,这样可以输入 make 编译 Qt 工程了

make

Qt5之海思交叉编译笔记_第8张图片

        上图看出编译之后的可执行文件是 untiled ,使用 file 命令看出这是一个运行于 X86 平台的可执行程序,运行结果如下。

Qt5之海思交叉编译笔记_第9张图片

    3)使用编译好的交叉工具 qmake 编译 Qt5 工程

        其实和之前使用自带的 qmake 操作一样,生成 Makefile 的步骤如下

/opt/qt_hisiv500/bin/qmake

        同样生成 Makefile 文件,打开 Makefile 可以看出使用 arm-hisiv500-linux- 进行编译的

Qt5之海思交叉编译笔记_第10张图片

    make 编译

Qt5之海思交叉编译笔记_第11张图片

        上图看出编译之后得到的可执行文件是运行在 ARM 平台的,所以在 Ubuntu 中无法运行。

你可能感兴趣的:(海思)