海思QT开发系列(一):Hi3559平台QT移植

海思QT开发系列(一):3559平台QT移植

海思QT开发系列(二):构建海思Qt项目Sample

海思QT开发系列(三):Hi3559 Qt Sample开发板运行测试

海思QT开发系列(四):Hi3559 Qt+OpenGL移植

 


参考

  1. 海思Hi3559av100移植Qt5.9.7
  2. Qt5.5.1移植到freescale imx6

网上的版本大都不完善,或多或少会出一些错误,所以

一切以我为准!

环境

主机环境:Ubuntu 16.04;
板端:hi3559av100
交叉编译环境:aarch64-himix100-linux-
没环境的同学参考 hisi SDK安装记录虽然是3518EV200为例,但海思sdk都差不多是一个框架,不要慌

下载

本文以最新QT版本5.14.2为例
qt-everywhere-src-5.14.2.tar.xz

其他QT版本选择
ps:
用迅雷下载会比较快

移植

解压

tar xvf qt-everywhere-src-5.14.2.tar.xz

config修改

  • 进入目录
cd qt-everywhere-src-5.14.2/qtbase/mkspecs/
  • 复制一份aach配置
cp linux-aarch64-gnu-g++/ linux-aarch64-himix100-g++/ -r
  • 修改配置,将qmake.conf文件的编译器“aarch64-linux-gnu”全部替换为“aarch64-himix100-linux”
cd linux-aarch64-himix100-g++/
vim qmake.conf


海思QT开发系列(一):Hi3559平台QT移植_第1张图片

 QT配置,生成Makefile

回到根目录qt-everywhere-src-5.14.2$/执行:

./configure -release -opensource -confirm-license -make libs -xplatform linux-aarch64-himix100-g++ -prefix $PWD/qt5.9.7_hi3559av100_release -no-opengl -no-ico -strip -shared -nomake examples -no-sse2 -nomake tests -nomake tools -no-iconv 


-no-iconv 去掉字符转换,不加会有如下错误

QIconvCodec::convertToUnicode: using Latin-1 for conversion,iconv_open failed
 QIconvCodec::convertFromUnicode: using Latin-1 for conversion,iconv_open failed
  • -xplatform 代表平台,注意需要有对应的qmake.conf
  • -prefix 指定安装目录
  • -no-iconv
  • -no-ico 不支持图标、3559不需要,不是单独的应用
  • -strip 减小体积
  • -shared 动态库
  • -nomake examples 不编译example等相关模块

./configure --help查看其他配置,自行选择,如果flash有限的话可以慢慢裁剪,3559不需要,哈哈哈哈

编译

这个没什么好说的

make -j$(nproc)
make install

$(nproc) 代表你的核心个数,多核编译会快一些,如果配置一般,make后建议去吃个饭什么的

编译结束

bin 工具相关,下一节会用到
lib
plugins
qml

 

创作不易,欢迎点赞!海星原创,转载请注明出处!

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