目录
一、交叉编译QT库
二、安装QT Creator
三、部署开发板环境
主要步骤:
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-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前面出现了红色的感叹号,说明该编译工具不可用,而且应该是添加编译工具时的路径选择有问题或者是没有修改版本号所致。
主要内容:
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的开发板。