天天看点

Hi3519V101上移植QT4.8.6目录前言环境交叉编译总结

目录

文章目录

  • 目录
  • 前言
  • 环境
  • 交叉编译
  • 总结

前言

因为想要通过QT在3519上实现跟踪效果,所以在Hi3519上移植了QT4.8.6。虽然结果不理想,但是还是想把自己的移植过程记录下来!或许是自己的功力还不够的原因,今天莫名地感到心累!

本篇博客参考易百纳论坛,感谢大神们的无私奉献!

环境

PC:Ubuntu16.04

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

QT版本:qt-everywhere-opensource-src-4.8.6.tar.gz

交叉编译

  1. 解压:

    tar -xvf qt-everywhere-opensource-src-4.8.6.tar.gz

  2. 进入mkspecs/qws目录:

    cd /hisilicon/qt/qt-everywhere-opensource-src-4.8.6/mkspecs/qws

  3. 复制linux-arm-g++目录到linux-hisiv500-g++目录:

    cp linux-arm-g++ linux-hisiv500-g++ -rf

  4. 进入linux-hisiv500-g++目录
  • 修改qmake.conf:

    vi qmake.conf

# modifications to g++.conf
	QMAKE_CC               = arm-hisiv500-linux-gcc
	QMAKE_CXX              = arm-hisiv500-linux-g++
	QMAKE_LINK             = arm-hisiv500-linux-g++
	QMAKE_LINK_SHLIB       = arm-hisiv500-linux-g++
	# modifications to linux.conf
	QMAKE_AR                = arm-hisiv500-linux-ar cqs
	QMAKE_OBJCOPY           = arm-hisiv500-linux-objcopy
	QMAKE_STRIP             = arm-hisiv500-linux-strip
           
  • 增加qplatformdefs.h:

    vi qplatformdefs.h

    ------->

    #undef O_CLOEXEC

  1. 安装x11库:

    sudo apt-get install libx11-dev libxext-dev libxtst-dev

  2. 返回源码目录qt-everywhere-opensource-src-4.8.6/mkspecs进行配置
./configure --prefix=/opt/qt4.8.6 -opensource -confirm-license -qt-sql-sqlite \
-qt-gfx-linuxfb -plugin-sql-sqlit -no-qt3support -no-phonon -no-svg -no-webkit \
-no-javascript-jit -no-script -no-scripttools -no-declarative -no-declarative-debug \
-qt-zlib -no-gif -qt-libtiff -qt-libpng -no-libmng -qt-libjpeg -no-rpath -no-pch \
-no-3dnow -no-avx -no-neon -no-openssl -no-nis -no-cups -no-dbus -embedded arm \
-platform linux-g++ -xplatform qws/linux-hisiv500-g++ -little-endian -qt-freetype \
-no-opengl -no-glib -nomake demos -nomake examples -nomake docs -nomake tools
           

其中:–prefix=/opt/qt4.8.6是交叉编译qt库后的安装目录

-xplatform qws/linux-hisiv500-g++指定编译器及平台配置信息,就是步骤4修改的目录

编译成功后如下:

Hi3519V101上移植QT4.8.6目录前言环境交叉编译总结

7.

make

Hi3519V101上移植QT4.8.6目录前言环境交叉编译总结

8.

make install

在/opt目录下生成qt4.8.6目录:

cmd:tree qt4.8.6/ -L 1
.
├── bin
├── include
├── lib
├── mkspecs
├── plugins
└── translations

           

总结

编译qt4.8.6的过程还是很简单的,难点在于通过Hi3519显示Qt界面,后续会继续补充。而且感觉Qt版本有点老,以后还是编译Qt5的库试试,毕竟要紧跟潮流嘛!

条条大路通罗马,可在你选择路,拼命奋斗的时候,人家已经在罗马了!可起码你在路上,虽然终归是条错误的路!

Hi3519V101上移植QT4.8.6目录前言环境交叉编译总结