适配DirectFB到qt4.8.5

1、编译qt4.8.5

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

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

  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来配置。

  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. QMAKE_INCDIR = /home/share/.../prefix_tslib/include
  4. QMAKE_LIBDIR = /home/share/.../prefix_tslib/lib

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

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

2、qt4.8.5运行时配置

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

  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的库路径,我这边的如下配置

  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

适配DirectFB到qt4.8.5(嵌入式Linux)的更多相关文章

  1. 《嵌入式Linux开发实用教程》

    <嵌入式Linux开发实用教程> 基本信息 作者: 朱兆祺    李强    袁晋蓉 出版社:人民邮电出版社 ISBN:9787115334831 上架时间:2014-2-13 出版日期: ...

  2. 嵌入式linux GUI--DirectFB + GTK至尊秘笈

    前言 数年前,曾经开发过一个嵌入式的产品,如今市场依然存在,但由于电子产品的升级换代很快,许多元器件都采购不到了,为了延续产品的生命周期,计划在linux平台上开发新的版本.而在linux上的GUI上 ...

  3. 嵌入式Linux中摄像头使用简要整理【转】

    转自:http://www.cnblogs.com/emouse/archive/2013/03/03/2941938.html 本文涉及软硬件平台: 开发板:飞凌OK6410 系统:Ubuntu 1 ...

  4. 好文章!转载嵌入式LINUX

    整理了嵌入式linux学习路线供参考,希望对您有所参考价值! 一.linux入门 目前嵌入式主要开发环境有 Linux.Wince等:Linux因其开源.开发操作便利而被广泛采用.而Linux操作系统 ...

  5. 嵌入式 Linux下永久生效环境变量bashrc

    嵌入式 Linux下永久生效环境变量bashrc 1) .bashrc文件 在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到 ...

  6. 制作自己的嵌入式Linux电脑_转

    制作自己的嵌入式Linux电脑 http://os.51cto.com/art/201409/450334.htm 原文链接:http://blog.jobbole.com/75414/ 包含器件选择 ...

  7. 用Windows+VirtualBox搭建嵌入式Linux开发环境

    Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...

  8. 嵌入式Linux的调试技术

    本节我们研究嵌入式Linux的调试技术,对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试.刚开始讲了打印内核调试信息:printk,这个函数的用法与printf函数类似,只不过p ...

  9. 嵌入式linux应用程序移植方法总结

    嵌入式linux应用程序移植方法总结 前段时间一直在做openCapwap的移植和调试工作,现在工作已接近尾声,编写本文档对前段工作进行一个总结,分享下openCapwap移植过程中的经验和感悟.江浩 ...

随机推荐

  1. Java Service Wrapper 使用(windows)

    1       简介 最近项目中需要做一个Windows系统服务,记录一下使用过程. Java Service Wrapper 可以将Java程序包装成系统服务,这样就可以随着系统的运行而自动运行.J ...

  2. git如何更新fork的repository(Fork一个别人的repository,做了一些改动,再合并别人的更新)

    Fork一个别人的repository,做了一些改动,想提交pull request的时候,发现原先别人的repository已经又有了一些更新了,这个时候想使得自己fork出的repository也 ...

  3. WPF 渲染级别

    原文:WPF 渲染级别 很少人会知道 WPF 也可以知道当前的显卡能支持的渲染级别. 根据显卡的不同,包括显存.纹理等的支持是否打到要求,指定渲染级别. 使用 System.Windows.Media ...

  4. Struts2——(6)表单校验

    一.表单校验 js,jquery是客户端校验,今天要说的是客户端校验. 禁止js,或者机器代码会破坏客户端校验,所以客户端校验相对不安全. 服务器端校验是基于java代码在服务器端进行校验,特点是相应 ...

  5. 使用ant对项目进行多渠道打包时遇到问题记录

    1.打包成功后,打开apk时,会出现闪退的现象解决方法:1.配置好ant后,先把项目正常运行后,再打包,如有问题见第2步        2.找到项目中build.xml,然后右键,选择Run As - ...

  6. python 获取字典值

    一.Python中的字典遍历方法: info = { 'name':'xiaoming', 'sex':'nan', 'age':20, 'id':1} info2 = { 'name':'hhh', ...

  7. sqlplus登录信息,列出所有表,列在表结构,sqlplus行和列显示设置,别名,Null值问题,细木工,DISTINCT

     1 sqlplus登录方式: 普通用户登录: 登录eg:C:\>sqlplusscott/11  (格式:sqlplus username/password) 退出eg:quit退出 超级 ...

  8. [C 语言]判断某文件是文件夹还是文件

    #include <sys/stat.h> #include <stdio.h> int _tmain(int argc, _TCHAR* argv[]){ char* fil ...

  9. C#中正则表达式使用介绍

    摘要:本文给出了在C#下利用正则表达式实现字符串搜索功能的方法,通过对.NET框架下的正则表达式的研究及实例分析,总结了正则表达式的元字符.规则.选项等. 关键字:正则表达式.元字符.字符串.匹配 1 ...

  10. WPF制作的党旗

    原文:WPF制作的党旗 --------------------------------------------------------------------------------引用或转载时请保 ...