适配DirectFB到qt4.8.5(嵌入式Linux)
适配DirectFB到qt4.8.5
1、编译qt4.8.5
这部在qt官网上其实已经有较详细的说明,了解更多,请点击链接进入。
首先是配置选项,如下是我的配置选项:
- ./configure \
- -prefix /home/share/nuc972/nuc-bsp/applications/qt4 \
- -release \
- -opensource \
- -qconfig dist \
- -no-exceptions \
- -no-accessibility \
- -no-stl \
- -no-qt3support \
- -no-xmlpatterns \
- -no-multimedia \
- -no-audio-backend \
- -no-phonon \
- -no-phonon-backend \
- -no-svg \
- -no-webkit \
- -no-javascript-jit \
- -no-script \
- -no-scripttools \
- -no-declarative \
- -no-declarative-debug \
- -qt-zlib \
- -qt-freetype \
- -no-gif \
- -qt-libpng \
- -no-libmng \
- -no-libtiff \
- -qt-libjpeg \
- -no-openssl \
- -nomake tools \
- -nomake demos \
- -make examples \
- -nomake docs \
- -nomake translations \
- -no-nis \
- -no-cups \
- -no-iconv \
- -no-pch \
- -no-dbus \
- -embedded arm \
- -xplatform qws/linux-arm-gnueabi-g++ \
- -no-gtkstyle \
- -no-nas-sound \
- -no-opengl \
- -no-openvg \
- -no-sm \
- -no-xshape \
- -no-xvideo \
- -no-xsync \
- -no-xinerama \
- -no-xcursor \
- -no-xfixes \
- -no-xrandr \
- -no-xrender \
- -no-mitshm \
- -no-fontconfig \
- -no-xinput \
- -no-xkb \
- -no-glib \
- -qt-gfx-directfb \
- -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来配置。
- QT_CFLAGS_DIRECTFB = -I/home/share/.../prefix_DFB/include/directfb -D_REENTRANT
- QT_LIBS_DIRECTFB = -L/home/share/.../prefix_DFB/lib -ldirect -ldirectfb -lfusion -lts
- QMAKE_INCDIR = /home/share/.../prefix_tslib/include
- QMAKE_LIBDIR = /home/share/.../prefix_tslib/lib
路径方面请安自己的实际情况设置。
做好上述工作后运行我们的配置项,配置完成后运行make即可愉快的编译了,编译完成后make install 到我们指定的目录然后拷贝到板子上即可运行了。
2、qt4.8.5运行时配置
如下配置设置到系统环境变量中去,主要告知我们的qt库的路径。
- export QTDIR=/lib/qt4
- export QT_DEBUG_PLUGINS=1
- export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/platforms
- export QT_QPA_FONTDIR=$QTDIR/lib/fonts
- export QT_QWS_FONTDIR=$QTDIR/lib/fonts
- export QT_PLUGIN_PATH=$QTDIR/plugin
- export QML2_IMPORT_PATH=$QTDIR/qml
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib
- export QWS_DISPLAY="LinuxFb:mmWidth240:mmHeight180:1"
- export QWS_MOUSE_PROTO="TSLIB:/dev/input/event0"
配置完qt库的路径我们还需要配置dfb的库路径,我这边的如下配置
- export LD_LIBRARY_PATH=/lib/dfb/lib:$LD_LIBRARY_PATH
- 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)的更多相关文章
- 《嵌入式Linux开发实用教程》
<嵌入式Linux开发实用教程> 基本信息 作者: 朱兆祺 李强 袁晋蓉 出版社:人民邮电出版社 ISBN:9787115334831 上架时间:2014-2-13 出版日期: ...
- 嵌入式linux GUI--DirectFB + GTK至尊秘笈
前言 数年前,曾经开发过一个嵌入式的产品,如今市场依然存在,但由于电子产品的升级换代很快,许多元器件都采购不到了,为了延续产品的生命周期,计划在linux平台上开发新的版本.而在linux上的GUI上 ...
- 嵌入式Linux中摄像头使用简要整理【转】
转自:http://www.cnblogs.com/emouse/archive/2013/03/03/2941938.html 本文涉及软硬件平台: 开发板:飞凌OK6410 系统:Ubuntu 1 ...
- 好文章!转载嵌入式LINUX
整理了嵌入式linux学习路线供参考,希望对您有所参考价值! 一.linux入门 目前嵌入式主要开发环境有 Linux.Wince等:Linux因其开源.开发操作便利而被广泛采用.而Linux操作系统 ...
- 嵌入式 Linux下永久生效环境变量bashrc
嵌入式 Linux下永久生效环境变量bashrc 1) .bashrc文件 在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到 ...
- 制作自己的嵌入式Linux电脑_转
制作自己的嵌入式Linux电脑 http://os.51cto.com/art/201409/450334.htm 原文链接:http://blog.jobbole.com/75414/ 包含器件选择 ...
- 用Windows+VirtualBox搭建嵌入式Linux开发环境
Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...
- 嵌入式Linux的调试技术
本节我们研究嵌入式Linux的调试技术,对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试.刚开始讲了打印内核调试信息:printk,这个函数的用法与printf函数类似,只不过p ...
- 嵌入式linux应用程序移植方法总结
嵌入式linux应用程序移植方法总结 前段时间一直在做openCapwap的移植和调试工作,现在工作已接近尾声,编写本文档对前段工作进行一个总结,分享下openCapwap移植过程中的经验和感悟.江浩 ...
随机推荐
- JAVA SE回顾及思考(3)——排序算法
排序的算法是很多公司的笔试和面试题,个人感觉Java中其实无需使用这些排序方法,因为Java中已经为我们提供了很方便效率很高的sort()方法.但是不使用不能代表不需要学习这些算法,也不是仅仅为了面试 ...
- 【Struts2学习笔记(4)】指定需要Struts 2请求后缀的常量定义复杂的过程
一.指定需要Struts 2请求后缀处理 我们是在违约前.action后缀访问Action. 事实上默认后缀是通过不断"struts.action.extension"进行更改.例 ...
- Dojo第一节:学会使用firebug对js,Dojo进行调适
内容概要: 学会使用firebug的基本功能 1. 简介:Firebug是Firefox的一个插件,用来对js代码进行调适的工具. (官方废话:Firebug是firefox下的一个插件,可以调试全部 ...
- android 内存优化 性能优化
最近做一个android 的应用程序 总是出现内存高 和cpu高的问题困扰了好多天. 下面为自己从网上总结的和自己找到的问题. 1. WebView 控件: 使用了 WebView 控件一定要注意清 ...
- git版本管理与github
1.下载并安装好git 里面有几个.exe的文件,需要用到的就是git-bash.exe 2.把git和github连接 1.打开github网站,点击最右上角的图标,点击setti ...
- MFC和Qt优缺点 (MFC几乎没有优点、全面下风)
在网上看到的,拿来和大家一起讨论下. 我曾经使用过来开发过软件,我想和大家分享我使用他们时所体会的不同之处. 我并非一个职业作家,这篇文章可能看起来不如专业的杂志和网站上的那么条理清晰.但是,我在这里 ...
- Oracle 如何删除掉一个用户下的所有对象
create or replace procedure drop_all as cursor cur_obj is select uo.OBJECT_NAME, uo.OBJECT_TYPE from ...
- Beginner’s Tutorial: 3D Line and Border Effects in XAML
This mini-tutorial might be for you if you’re having troubles finding the right line colors to achie ...
- 在Android程序中使用Modbus协议时报 java.net.SocketException: recvfrom failed: ECONNRESET解决办法
最近在开发基本Modbus协议的Android端PLC控制程序,C#版程序没有任何问题,移到JAVA下出现各种问题,其中比较苦恼的是java.net.SocketException: recvfrom ...
- 新版【CefSharp】 禁用右键菜单 43.00+
原文:新版[CefSharp] 禁用右键菜单 43.00+ 禁用右键菜单其实是很容易的.主就要是实现一个接口 IMenuHandler ,这个接口有一个 OnBeforeContextMenu 的方 ...