一、安装DirectFB
1、下载源码及扩展库
Directfb1.2.1
源码包 http://www.d
DirectFB-example1.2.0
源码包 http://www.d
Libjpegv9a
源码包 http://www.i
Libpng1.2.44
源码包 http://www.l
Zlib1.2.8
源码包 http://www.z
Freetype2.4.6
源码包 http://freetype.sourceforge.net/index2.html
备注:通过实验,在Centos6.3上Directfb1.2.1和之前的版本可以完全识别上述扩展库,1.2.4和之后的版本存在不同的扩展库无法识别的问题,建议安装Directfb1.2.1或之前的版本。
2、安装源码及扩展库
(1)libjpeg编译安装
先解压源码
#tar xvf jpegsrc.v9a.tar.gz
#cd jpeg-9a
配置编译安装
#./configure
#make
#make install
(2)zlib编译安装
先解压源码
#tar xvf zlib-1.2.8.tar.gz
#cd zlib-1.2.8
配置编译安装
#./configure
#make
#make install
备注:zlib库需要在libpng库安装前安装
(3)libpng编译安装
先解压源码
#tar xvf libpng-1.2.44.tar.gz/
#cd libpng-1.2.44
配置编译安装
#./configure
#make
#make install
备注:freetype最后安装
(4)freetype编译安装
先解压源码
#tar xvf freetype-2.4.6.tar.gz
#cd freetype-2.4.6
配置编译安装
#./configure
#make
#make install
(5)directfb编译安装
#tar xvf DirectFB-1.2.1.tar.gz
#cd DirectFB-1.2.1
配置编译安装
#./configure
#make
#make install
备注:上述安装没有指定configure 的安装路径prefix参数,默认安装到/usr/local中。
(6)测试directfb
1)找到directfb.pc的路径,让其能找到对应的directfb。
$updatedb -----更新数据库
$locate directfb.pc
例如得到信息:
/home/chen/DirectFB-1.2.1/directfb.pc
/home/chen/DirectFB-1.2.1/directfb.pc.in
/usr/local/lib/pkgconfig/directfb.pc
2)接着设置环境,将上一步得到的pkgconfig库目录加入环境之中:
$export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
(这样只能在当前终端可以运行,关机后还得自已运行些命令,才能运行dfb程序,如 要永久性加入可这样:
如你用的是root用户,可以$vi /root/.bash_profile中加入:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig )
3)$sudo tar zxvf DirectFB-examples-1.2.0.tar.gz
$cd DirectFB-examples-1.2.0
$./configure
$.sudo make
$sudo make install
4)指定directfb的库目录:
$sudo vi /etc/ld.so.conf在最后一行加入:/usr/local/lib,保存退出。
$ldconfig
5)到目录DirectFB-examples-1.2.0/src下测试样例
$sudo df_particle
测试完成。
二、重新编译QT
1.解压
tar xvf qt-everywhere-opensource-src-4.7.1.tar.gz
2.新建需要的目录
mkdir /usr/local/Trollech/qt_x86
3. 修改qt相关平台的qmake.conf文件(qt-everywhere-opensource-src-4.7.1/mkspecs/qws/linux-x86-g++/qmake.conf )
添加:
QT_CFLAGS_DIRECTFB = -D_REENTRANT -I/usr/local/include/directfb
QT_LIBS_DIRECTFB = -L/usr/local/lib -ldirectfb -lfusion -ldirect -lpthread
(此处是添加directfb的头文件和lib库的路径)
4. 编译Qt库
。/configure -prefix /usr/local/Trolltech/qt_X86 -embedded x86 -xplatform qws/linux-x86-g++ -plugin-gfx-directfb
gmake(需要等待3~4个小时)
gmake install
三、 测试qt和diectfb
1. 添加qws配置
创建配置文件
$sudo vi /usr/local/etc/directfbrc(该文件不存在,需要自己手动创建),全局的,内容如下:
可写入上文件的参考参数:
system = x11
设定使用的图形系统为x11。默认使用Linux frame buffer (fbdev)。
wm = default
设定窗口管理层,默认default(0)。
mode = 640x480
设定默认的屏幕显示。如果不设定,DirectFB将使用/etc/fb.modes 的 第一个设定 值。一些frame buffer设备(如 vesafb)不支持模式切换,而只能使用启动时 设 定的值。
scaled = 640x480
设定主窗口。
depth = 32
使用二进制位数设置每像素默认的像素深度。如果没有指定,DirectFB将 使用 /etc/fb.modes 里面的第一个指定的深度值。DirectFB支持8, 15, 16, 24和32位的颜 色深度(color depths),这些值依赖于你使用的frame buffer设备是否支持。一些 frame buffer设备(如: vesafb)根本就不支持模式切换,只能使用在启动时设定 的像素深度值。
pixelformat = RGB32
设置默认的像素格式。和上面描述的深度参数类似但允许更精细的控制。Pixelformat的值可以为LUT8, RGB332, RGB16, RGB24和RGB32。一些设备可能还支持更奇怪的A8, ALUT44, ARGB, ARGB1555, I420, UYVY, YUY2和YV12像素格式。
mouse-protocol = IMPS/2
MS 使用微软鼠标协议的两个按钮的鼠标;
MS3使用扩展的微软鼠标协议的三按钮鼠标;
MouseMan使用一种Logitech开发的另一种扩展的微软鼠标协议的三按钮的鼠标;
MouseSystems 广泛使用的三按钮鼠标。
串口鼠标所使用的协议的详细信息可参考相关资料。
bg-color = 00FFFF
控制背景的颜色。颜色的值为十六进制值。默认的alpha值为完全不透明并可能被 忽略。例如,设定背景色为红紫色(magenta),可以使用bg-color=FF00FF。
具体参数可以参考http://www.directfb.org/docs/directfbrc.5.html
或http://blog.chinaunix.net/u3/104335/showart_2061486.html
或者在终端上查看
$man directfbrc
2.测试样例
$sudo init 3
$cd /usr/local/Trolltech/qt_ 86
$./examples/painting/basicdrawing/basicdrawing -qws -display directfb
执行上面的命令,你可以看到下图(本图片采用默认配制,没有对配置文件进行写入操作)
参考博文:
http://blog.
http://blog.
http://www.c
http://blog.