像我儿子一样永远保持好奇和梦想

[z] Directfb 编译案例:

上一篇 / 下一篇  2012-09-10 10:26:03 / 个人分类:linux

  

directfb的编译

(2010-06-27 21:45:38)
标签:

it

分类: directfb

i`\-O:PI%S0本文介绍了怎样生成一个最小(或接近最小)的DirectFB,以及相关的测试用例的安装和测试,对编译中的参数MMX,SSE,SDL,VNC的概念给出了较为详细的介绍ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台k2R:`h&Aj&^/J0G
实验平台:
G ov'^}2WA9J0FC5(Fedora Core5)ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台!G1UbJ({ M
DirectFB-0.9.24(目前最新版本为0.9.25,为了开发的稳定性,选择0.9.24版本)
YQ t q8j:N0下载源码:
F;Wu j7pk8l0下载DirectFB-0.9.24.tar.gz源码开发包,下载地址为:http://www.directfb.org/index.php?path=Main%2FDownloads&page=4
Fkv6?;MlX0下载测试用例DirectFB-examples-0.9.23.tar.gz:源码包,下载地址为:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台\U| N_`G
http://www.directfb.org/index.php?path=Main%2FDownloads&page=4
e0x6Qz'n0G.^Nx+?0当然,也可以下载最新的安装和测试版本。
~d$c,r!_:vv0安装DirectFB-0.9.24ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台hPKLq0Rk3mH9Ht
本例中将会在/usr目录下建立软件安装目录和测试用例目录,首先建立这两个目录ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台'hyD0X6ZVpq$n5B
$mkdir /usr/miniDirectFBET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 o G*No$^!]&oaj+kP
$mkdir /usr/miniExample
J3d ZQlw A:J7y0假设DirectFB-0.9.24.tar.gz下载到本地机器的位置为home目录,解压并进入该包ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台n#HI3s:A$WC
$tar xvf DirectFB-0.9.24.tar.gz
F,h4l]Z)n g9\ F+B0$cd DirectFB-0.9.24ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台"E*yv9p eE&^A
运行配置脚本,生成makefile文件ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台"aY-_0q$G6\
$./configure --prefix=/usr/miniDirectFB --enable-mmx=no --enable-sse=no --enable-sdl=no --enable-gif=no --enable-jpeg=no --with-gfxdrivers='none' --with-inputdrivers='none' --without-tools --disable-fast-install --disable-libtool-lock --enable-png=no --enable-video4linux=no --disable-debug --disable-trace --enable-freetype=noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台y&Pkx\!b
注意,上面的参数和configure命令在同一行,各参数的含义详见后面附录部分。编译完成后的输出结果参照后面的附录。
~CZ9a} H0
qm6DXF C0$make clean;makeET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台!M4D!]\*WUU
$make installET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台-rBD1{$S'V{~?
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台8}0\)o2km4s P
修改/etc/ld.so.conf文件,加入你所安装的DirectFB库文件的位置,此例为
%FU$Z6N)[Z0/usr/ miniDirectFB/lib;
qS[l~'p M7N0$vi /etc/ld.so.conf
&DjX RxQ&C9aU0添加usr/ miniDirectFB/lib
b(Q ] d jE6[0保存退出ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 }#an+G3zk;N2m"o
$ldconfigET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台n(c-M(YE$i(f
Ldconfig命令使得你刚加入的参数起作用,详细可以参考相关资料。
Q.yE{(iJKXj;~?0安装测试用例
r6{}$@/}2\];UY"B0假设DirectFB-examples-0.9.23.tar.gz下载到本地机器的位置为home目录,解压并进入该包ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台:uWh}4_)v
$tar xvf DirectFB-examples-0.9.23.tar.gz
K u:@U z'} W&X0$cd DirectFB-examples-0.9.23
K8k){b:O0设置pkgconfig的目录(参考你的DirectFB安装目录)ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 q.H`@z]N
$export PKG_CONFIG_PATH=/usr/miniDirectFB/lib/pkgconfigET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台4d:\S|?-_r.q
编译安装测试用例:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台8g)w kx/rhy3?5ko
$./configure –prefix=/usr/miniExample
:\cw#f4MU0$make clean;make
+|BY#v;Y0$make installET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 g9SB~gb"E
安装完毕
g-V(VK'|:|0测试ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台wvRu B~N[
切换到一个终端下,设置相应的环境变量:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台p/}b:H`n
$export LD_LIBRARY_PATH=/usr/miniDirectFB/libET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台4g+D!c%b%K$S7G
运行测试用例ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台8jD#?`HtI ^
$df_bltload
s-BlsK0A0$df_cpuload
8^ wE.E:y ]0$df_dioload
zp,f\5z N0注意,这里运行的每一个例子,你都无法通过鼠标键盘正常退出,因为,我们生成的是一个最小(或者接近最小)的DirectFB,在configure中我们去掉了对输入设备的支持;当然,其它的例子我们基本上都不能运行,因为他们都需要输入或者gfxdrivers的支持,我们也去掉了,不过,看起来很简洁,可以更方便我们对DirectFB的认识。安装的测试用例可以在你安装的目录里找到,本例中为:
|$H&K?)X;\-U0/usr/miniExample/binET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台.I#lI VR,a1r

7W5oF:J-qN1|0附录1 编译完成后,configure的输出结果
l8h*yU-J'p\0Build options:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台0g5o'b9xr2_
Version 0.9.24
q\7wf*U*Q0 Install prefix /usr/miniDirectFB
V6}j AyTUl2@hj0 Build shared libs yesET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台l$Tsj-d7q5Y
Build static libs noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台)^7`dt3T-z
Module directory ${exec_prefix}/lib/directfb-0.9.24
8EW v5e]8Y!W$D6V0 CPPFLAGS -D_REENTRANTET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台7J5s W`Yw@vq+Y6?
CFLAGS -Wall -O3 -ffast-math -pipe -D_GNU_SOURCE -Werror-implicit-function-declaration
5? g%aBK7R0 LDFLAGS ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台j9D7h N-Xoz
LIBS -ldl -lpthreadET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台1q9bLMk"Bt.?
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台.gc _l!kwB
Misc options:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台*P g$a&A7fR-F)F'M.t/Q
Multi Application Core noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台\*L7Qu JI8F:gW
Voodoo (network support) noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台w0WlGS
Debug mode no
R_-krr)mW0 Trace support noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 x6z b1vkj3@ J`_
MMX support no
(V@m6g!F(N%Y9O*~8jU0 SSE support no
L0n!L!DK&^-Av0 zlib compression noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台4xC'uP3UHo:~
sysfs support no
y{3MLu ~e+L0 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台&lO.n M6dz
Building Core Systems:
e1p5b A*m5K\0 Linux FBDev support yes
"f!K*dSU]~/Su M8q0 X11 support no
~q;hPoE,evN0 OSX support noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台*ulv4Yu
SDL support noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台ob:Z1J4F7i.c`
VNC support noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台iiB(Rm,P/m*b~F
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台(To e)K,f6@
Building WM Modules:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 Toa,| NQ})Ji I.F
Default yes
zw.L_ sRo0 UniQuE no
8L l)Db]0 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台ned%m&Ra+w;CF
Building Tools no
Dl)AWjb0 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台c'b+Il]C
Building Image Providers:
T+n%x;G7?.V1|0o$U0 GIF noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台$b"D@,e"b z NN
JPEG noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 Y4afDD
MPEG2 I-Frame. yes
y#I2hyW2D)N&n0 PNG noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台+iKz$~ZeU

%]+rV2PA9[)N0Building Video Providers:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台&yK2x*v9i,f EM
Video4Linux no (v2: no)
2F+F:r7~~ p]L0 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台|Ub8c"e Y8[Z
Building Font implementations:
4ESL5GEk _Q]_0 FreeType2
T-bMFc O]0 Default font yesET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台P{3q"w h Up^
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台Oc%iy7Y,u_
Building Graphics Drivers:
4YO0HSd R xM0 3Dfx Voodoo noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台bb aZq
ATI Mach64 no
7Q`&Y;[Pbr0 ATI Radeon no
l D Pp!m5LD*L _0 ATI Rage 128 no
!_\9L0^(V E,p4f4y0 ATI R200 noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台#bA/`b*N
Intel i810 no
;N4u0}6} g4J4R`]#X0 Intel i830 no
Mbh#d1ajQ0 Matrox no
3u6T5u},zx$CbQi0 NeoMagic noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 ]'OHR$v)Oa]%a
NSC Geode noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 SJ`9S/J
nVidia no
tok&Qge0 S3 Savage noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台3a*Fvu3P'[`9`NC
SiS 315 noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台&l Y~3W$S_"v+}9h
TVIA CyberPro noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台.T*P,M [d_,l*z%S8I
VIA CLE266 no
GqF'TgB;{)\0 VIA UniChrome no
p,cHN%N0 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台2p g~ \OT3Q,W;|Av e
Building Input Drivers:
fB!u9| m8v$l5G-l0 DBox2 Remote noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台~"KX(n7_
DreamBox Remote noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台*F!s {*vbb
ELO Touchscreen noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台7i0Q| z+dE
H3600 Touchscreen no
)s4Uj#q3v2ph0 Joystick noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 y7t g+\7Xb3W4n
Keyboard no
A3MBp fp*?ct0 Linux Input noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台~C~{PRBW0pX*G
LiRC noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台E^_Ys/Vxf/_ h
MuTouch touchscreen noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台t,M7?;n/O H]
PS/2 Mouse no
1Vm]F.I&Wt)|z0 Serial Mouse noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台bk{:I~XpT
SonyPI Jogdial noET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台V |9W-]g$A
ucb1x00 Touchscreen no
] |8wzl0 WM97xx Touchscreen no

?J7VR,_7I0 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台E:Hi:i%\7o


`2OuZ {6E |:RpV2}3z0附录2 安装后生成的共享库列表为ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台}~k6bBfQ;kA-E
libdirect-0.9.so.24.0.0
e Q l$OV3B0libdirectfb-0.9.so.24.0.0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台r _lA/E_E^
libfusion-0.9.so.24
&x?2W#JC#q0libdirectfbwm_default.soET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台/QR^z2b
libdirectfb_fbdev.so
9VB l`z#v9Y|O0libidirectfbimageprovider_mpeg2.soET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台sA'G'_-tF
libidirectfbfont_default.soET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 Zt`$rG+X2e,k
libidirectfbvideoprovider_v4l.so

} rK-} W C,kX0 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台RPQ-r$C


i _k)EI9j$_+X0附录三 使用rpm命令参看DirectFB的依赖关系ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台(Qj!N*cm/C
rpm -qpR directfb-0.9.24-8.rhfc5.at.i386.rpmET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台f0iy&T;Y.Ws.t
warning: directfb-0.9.24-8.rhfc5.at.i386.rpm: Header V3 DSA signature: NOKEY, key ID 66534c2bET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台wFL@0\f*o
libSDL-1.2.so.0
/s z?"Uz(h0J Gt0libc.so.6
a[&w&X6R5s0libc.so.6(GLIBC_2.0)
!p;f;Ew+Oj*?%h6g0libc.so.6(GLIBC_2.1) ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台(d!@,wJ/u
libc.so.6(GLIBC_2.1.3)
0mlvg)@0L ndbS0libc.so.6(GLIBC_2.3) ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台f7P vo_~%o4t7x~
libc.so.6(GLIBC_2.3.4)
A8usKhE0libc.so.6(GLIBC_2.4) ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台_p$`0E/q@;i!h `
libdirect-0.9.so.24 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台!w`D-a"Z6m'i
libdirectfb-0.9.so.24
"@Ypg]O0libdl.so.2 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台~4`q L+S;imd
libdl.so.2(GLIBC_2.1) ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台|e-xzV6| bk
libfreetype.so.6 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台,BN*DO_n0?
libfusion-0.9.so.24
FSpqeA aa0libjpeg.so.62 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 W+p$}Pn%S$sD
libm.so.6 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台W.u}b@c6xl
libpng12.so.0 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台u `[q a| K
libpthread.so.0
2Av-Jd{5~d,g0libpthread.so.0(GLIBC_2.0) ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台%V&}9qJ }l A
libpthread.so.0(GLIBC_2.1) ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 ^i9VgT
libpthread.so.0(GLIBC_2.3.2) ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台M1|F |*pE2nf
libz.so.1
-a#W4q!kV,K+W0rpmlib(CompressedFileNames) <= 3.0.4-1
[Da6N'Iak Z|0rpmlib(PayloadFilesHavePrefix) <= 4.0-1

]WZ C3cdaw0

?&}FA0SM0 

YJ?]$~4G0

yYQo*Fbx:|!j0


ref:

*l:fP9}2M0

nUP~2`3|*[/V0http://blog.sina.com.cn/s/blog_684bb6fb0100jasa.html

%T(H(Ca(Yec0

TAG: directfb

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar