QT4.7.1+DirectFB1.2.1+X86+CentOS6.3环境搭建

QT4.7.1+DirectFB1.2.1+X86+CentOS6.3 环境搭建

DirectFB简介:
DirectFB是一个轻量级的提供 硬件图形加速 ,输入设备处理和 抽象 的图形库,它集成了支持半透明的视窗系统以及在LinuxFramebuffer驱动之上的多层显示。它是一个用软件封装当前硬件无法支持的图形算法来完成 硬件加速 的层。DirectFB是为 嵌入式系统 而设计。它是以最小的资源开销来实现最高的硬件加速性能。
简而言之, DirectFB是一个软件中间层,它为底层的硬件驱动和上层的GUI提供了统一的接口调用,它不做任何实际画图操作。


一、安装DirectFB

1、下载源码及扩展库

Directfb1.2.1

源码包 http://www.directfb.org/index.php?path=Main%2FDownloads
DirectFB-example1.2.0

源码包 http://www.directfb.org/index.php?path=Main%2FDownloads&page=1
Libjpegv9a

源码包 http://www.ijg.org/
Libpng1.2.44

源码包 http://www.libpng.org/pub/png/libpng.html
Zlib1.2.8

源码包 http://www.zlib.net/
Freetype2.4.6

源码包 http://freetype.sourceforge.net/index2.html

备注:通过实验,在Centos6.3Directfb1.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
(需要等待34个小时)

gmake install

三、 测试qtdiectfb

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, 2432位的颜 色深度(color depths),这些值依赖于你使用的frame buffer设备是否支持。一些 frame  buffer设备(如: vesafb)根本就不支持模式切换,只能使用在启动时设定 的像素深度值。

pixelformat = RGB32

设置默认的像素格式。和上面描述的深度参数类似但允许更精细的控制。Pixelformat的值可以为LUT8, RGB332, RGB16, RGB24RGB32。一些设备可能还支持更奇怪的A8, ALUT44, ARGB, ARGB1555, I420, UYVY, YUY2YV12像素格式。 

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.csdn.net/yinjiabin/article/details/7674053

http://blog.csdn.net/yinjiabin/article/details/7675394

http://www.cnblogs.com/leaven/archive/2010/10/13/1850129.html

http://blog.csdn.net/yinjiabin/article/details/7661804


 

 


收到此邮件是因为您加入了网易邮件列表,点击 这里进入列表管理
如果你是该列表成员,发送主题为“查看邮件列表成员”的邮件到该列表,可以收到一封带有列表成员的邮件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值