欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hi3519V101上移植QT4.8.6

程序员文章站 2022-05-28 11:49:41
...

目录

前言

因为想要通过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