海思Hi3556移植Qt5.6.3

目录

一、交叉编译QT库

二、安装QT Creator

三、部署开发板环境


一、交叉编译QT库

主要步骤:

        1. cd qt-everywhere-opensource-src-5.6.3/qtbase/mkspecs

        2. cp -r linux-arm-gnueabi-g++ linux-arm-hisiv400

        3. cd linux-arm-hisiv400

        4. vim qmake.conf(修改qmake配置)

#

# qmake configuration for building with arm-hisiv400-linux-g++

#


MAKEFILE_GENERATOR = UNIX

CONFIG += incremental

QMAKE_INCREMENTAL_STYLE = sublib


include(../common/linux.conf)

include(../common/gcc-base-unix.conf)

include(../common/g++-unix.conf)


QT_QPA_DEFAULT_PLATFORM = linuxfb

QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a

QMAKE_CXXCFLAGS_RELEASE += -O2 -march=armv7-a


# modifications to g++.conf

QMAKE_CC = arm-hisiv400-linux -gcc

QMAKE_CXX = arm-hisiv400-linux-g++

QMAKE_LINK = arm-hisiv400-linux-g++

QMAKE_LINK_SHLIB = arm-hisiv400-linux-g++


# modifications to linux.conf

QMAKE_AR = arm-hisiv400-linux-ar cqs

QMAKE_OBJCOPY = arm-hisiv400-linux-objcopy

QMAKE_NM = arm-hisiv400-linux-nm -P

QMAKE_STRIP = arm-hisiv400-linux-strip

load(qt_config)

        5. vim autoconfigure.sh(配置脚本)

#!/bin/sh

./configure \

-v \

-prefix /opt/arm_qt/qt-5.6.3 \

-release \

-opensource \

-no-accessibility \

-make libs \

-xplatform linux-arm-hisiv400 \

-optimized-qmake \

-linuxfb \

-pch \

-qt-sql-sqlite \

-qt-libjpeg \

-qt-libpng \

-qt-zlib \

-no-opengl \

-no-sse2 \

-no-openssl \

-no-cups \

-no-glib \

-no-xcb -no-xcursor -no- xfixes -no-xrandr no-xrender  -no-pkg-config \

-no-separate-debug-info

        6. ./ autoconfigure.sh(启动脚本)

        7. make

        8. make install

注意事项:

    1. 修改qmake.conf时,其中的hisiv300/hisiv400视情况而定。

    2. 创建一个脚本文件之后需要chmod 7777 xxx,给他修改权限,否则可能会报错找不到该文件。

    3. make(make -j4,多线程)命令执行完之后,如果出现:

Project ERROR: Unknown module(s) in QT: serialport

Makefile:44: recipe for target ‘sub-serialbus-make_first’ failed

make[2]: * [sub-serialbus-make_first] Error 3

Makefile:44: recipe for target ‘sub-src-make_first’ failed

make[1]: * [sub-src-make_first] Error 2

Makefile:222: recipe for target ‘module-qtserialbus-make_first’ failed

make: * [module-qtserialbus-make_first] Error 2

表示serialport 模块未安装;使用命令sudo apt-get install libqt5serialport5-dev libudev-dev;但是安装完成后再次编译依然是以上错误,好删除编译过的文件,重新解压安装包,再次编译。

    4. 当虚拟机/opt/arm_qt/qt-5.6.3/lib/ 目录下面出现了关于QT的库说明交叉编译文件生成成功。

二、安装QT Creator

./qt-opensource-linux-x64-5.6.1.run(5.6.1的版本号仅供参考)

出现安装界面后,只需next/skip即可安装成功,安装完成之后还需要再对QT Creator进行设置。

        1. Tools->Options->Build&Run->Compilers->add添加hisi的编译工具

Compiler path: /opt/hisi-linux/x86-arm/arm-hisi400-linux/bin/arm-hisiv400-linux-gnueabi-g++(该路径仅供参考)

        2. Tools->Options->Build&Run->Debuggers->add添加hisi的调式工具

Path: /opt/hisi-linux/x86-arm/arm-hisi400-linux/bin/arm-hisiv400-linux-gnueabi-gdb(该路径仅供参考)

        3. Tools->Options->Build&Run->QT Version->add添加QT的版本信息

/opt/arm_qt/qt-5.6.3/bin/qmake(该路径仅供参考)

        4. Tools->Options->Build&Run->Kit->add添加构建套件

Name: hisiv400(自填)

Compiler: 选择第一步添加的编译工具

Debuggers: 选择第二步添加的调试工具

QT version: 选择第三步添加的版本号

其他选项默认即可。

        如果添加完编译工具的数据之后,在Manual下面的hisiv400前面出现了红色的感叹号,说明该编译工具不可用,而且应该是添加编译工具时的路径选择有问题或者是没有修改版本号所致。

三、部署开发板环境

主要内容:

  1.  拷贝qt库到目标板(lib和plugins)
  2.  拷贝字体到目标板
  3.  拷贝插件到目标板
  4.  配置目标板环境变量
Export QT_QPA_PLATFORM_PLUGN_PATH = /xxx/plugins

Export QT_QPA_PLATFORM = linuxfb:tty=/dev/fb0

Export QT_QPA_FONTDIR = /xxx/fonts

注意事项:

        1.  配置环境变量时,我是直接写到profile里的(建议配置启动脚本),不然每启动一个客户端时都需要重新配置一次;多个变量之间可以用冒号分隔。

        2. 在使用xshell时,本机ip和开发板ip需要处于同一网段,所以在本机上需要建立一个高级ip来保证能够连通到hisi的开发板。

你可能感兴趣的:(QT,qt,linux,arm开发)