zoukankan      html  css  js  c++  java
  • 适配DirectFB到qt4.8.5(嵌入式Linux)

    适配DirectFB到qt4.8.5

    1、编译qt4.8.5

    这部在qt官网上其实已经有较详细的说明,了解更多,请点击链接进入。

    首先是配置选项,如下是我的配置选项:

    [cpp] view plain copy
     
    1. ./configure   
    2. -prefix /home/share/nuc972/nuc-bsp/applications/qt4   
    3. -release   
    4. -opensource   
    5. -qconfig dist   
    6. -no-exceptions   
    7. -no-accessibility   
    8. -no-stl   
    9. -no-qt3support   
    10. -no-xmlpatterns   
    11. -no-multimedia   
    12. -no-audio-backend   
    13. -no-phonon   
    14. -no-phonon-backend   
    15. -no-svg   
    16. -no-webkit   
    17. -no-javascript-jit   
    18. -no-script   
    19. -no-scripttools   
    20. -no-declarative   
    21. -no-declarative-debug   
    22. -qt-zlib   
    23. -qt-freetype   
    24. -no-gif   
    25. -qt-libpng   
    26. -no-libmng   
    27. -no-libtiff   
    28. -qt-libjpeg   
    29. -no-openssl   
    30. -nomake tools   
    31. -nomake demos   
    32. -make examples   
    33. -nomake docs   
    34. -nomake translations   
    35. -no-nis   
    36. -no-cups   
    37. -no-iconv   
    38. -no-pch   
    39. -no-dbus   
    40. -embedded arm   
    41. -xplatform qws/linux-arm-gnueabi-g++   
    42. -no-gtkstyle   
    43. -no-nas-sound   
    44. -no-opengl   
    45. -no-openvg   
    46. -no-sm   
    47. -no-xshape   
    48. -no-xvideo   
    49. -no-xsync   
    50. -no-xinerama   
    51. -no-xcursor   
    52. -no-xfixes   
    53. -no-xrandr   
    54. -no-xrender   
    55. -no-mitshm   
    56. -no-fontconfig   
    57. -no-xinput   
    58. -no-xkb   
    59. -no-glib   
    60. -qt-gfx-directfb   
    61. -qt-mouse-tslib   

    以上配置可根据自己实际情况进行修改,配置选项的具体含义可以运行./configure --help 进行了解

    其中-qt-gfx-directfb配置选项即是打开qt对directfb的支持

    还有个要关注的地方是xplatform选项,我们的编译器配置是在里面的。如我使用的是linux-arm-gnueabi-g++,这些信息被写在qt-everywhere-opensource-src-4.8.5/mkspecs/qws/linux-arm-gnueabi-g++目录下的qmake.conf文件中。

    这里我们使用了directfb的同时还使用了tslib为了让编译顺利我们还需要告知它dfb和tslib库的路径,它们也可以写在qmake.conf文件中

    如下我们在qmake.conf文件中告诉它我们库的路径,其中dfb的配置需要通过QTCFLAGSDIRECTFB和QTLIBSDIRECTFB来配置。

    [cpp] view plain copy
     
    1. QT_CFLAGS_DIRECTFB = -I/home/share/.../prefix_DFB/include/directfb -D_REENTRANT  
    2. QT_LIBS_DIRECTFB = -L/home/share/.../prefix_DFB/lib -ldirect -ldirectfb -lfusion -lts  
    3.   
    4. QMAKE_INCDIR = /home/share/.../prefix_tslib/include  
    5. QMAKE_LIBDIR = /home/share/.../prefix_tslib/lib  

    路径方面请安自己的实际情况设置。

    做好上述工作后运行我们的配置项,配置完成后运行make即可愉快的编译了,编译完成后make install 到我们指定的目录然后拷贝到板子上即可运行了。

    2、qt4.8.5运行时配置

    如下配置设置到系统环境变量中去,主要告知我们的qt库的路径。

    [cpp] view plain copy
     
    1. export QTDIR=/lib/qt4  
    2. export QT_DEBUG_PLUGINS=1  
    3. export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/platforms  
    4. export QT_QPA_FONTDIR=$QTDIR/lib/fonts  
    5. export QT_QWS_FONTDIR=$QTDIR/lib/fonts  
    6. export QT_PLUGIN_PATH=$QTDIR/plugin  
    7. export QML2_IMPORT_PATH=$QTDIR/qml  
    8. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib  
    9. export QWS_DISPLAY="LinuxFb:mmWidth240:mmHeight180:1"  
    10. export QWS_MOUSE_PROTO="TSLIB:/dev/input/event0"  

    配置完qt库的路径我们还需要配置dfb的库路径,我这边的如下配置

    [cpp] view plain copy
     
    1. export LD_LIBRARY_PATH=/lib/dfb/lib:$LD_LIBRARY_PATH  
    2. export DFBARGS=module-dir=/lib/dfb/directfb-1.4-5  

    其中DFBARGS=module-dir是要告诉dfb我们插件的位置,路径方面按照自己实际情况设置。

    然后运行个dfb的示例看看dfb是否能正常跑如dfb的bin目录下的dfbinfo,确定dfb正常后再运行个qt的示例看看qt是否正常如到qt的examples路径执行./trivialwizard -qws

    确定dfb和qt单独运行多没问题后再执行./trivialwizard -qws -display directfb 后此时qt即用的dfb来做显示绘图,如果有适配dfb的gfx驱动可以在gfx驱动中加入打印看是否有调用到硬件加速。

    http://blog.csdn.net/jxgz_leo/article/details/77604569

  • 相关阅读:
    【javascript】select操作实例
    【javascript】函数
    【javascript】一些资料
    【javascript】操作符:一元操作符
    动态执行Sql
    索引( index )
    事务
    用户相关
    视图(view)
    函数(function)
  • 原文地址:https://www.cnblogs.com/findumars/p/5745351.html
Copyright © 2011-2022 走看看