Chinaunix首页 | 论坛 | 博客
  • 博客访问: 175245
  • 博文数量: 44
  • 博客积分: 2762
  • 博客等级: 少校
  • 技术积分: 520
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-04 19:19
文章分类
文章存档

2011年(28)

2010年(16)

我的朋友

分类: LINUX

2011-11-08 08:38:08

在我的2440上运行directfb,是不是很有意思呢. 那么首先就是要来编译.
编译要准备的东西当然是编译器和库了.
我用的还是编译SDL的那个编译器3.4.4
根据directfb的说明书--仔细看说明书再下手,永远是个好习惯.要想成功编译directfb,需要zlib,glib,libjpeg,libpng(参照源代码中的README)
那么,先下载那些库,编译,安装之(这个过程略去,因为不会遇到什么问题)

编译directfb了!
我喜欢写个BUILD脚本,这个脚本很通用,(除了configure部分)
#have_linux=yes
#
export CC=/cross-compile/bin/arm-linux-gcc
export AR=/cross-compile/bin/arm-linux-ar
export LD=/cross-compile/bin/arm-linux-ld
export RANLIB=/cross-compile/bin/arm-linux-ranlib
export PREFIX=/tftpboot/root/usr
./configure --host=arm-linux --build=i386-linux --target=arm --prefix=$PREFIX --libdir=$PREFIX/lib --include=$PREFIX/include --disable-x11 --enable-debug --disable-voodoo --disable-mmx disable-see --disable-sdl --enable-jpeg --enable-zlib --enable-png --disable-gif --enable-freetype --disable-video4linux --disable-video4linux2 --with-gfxdrivers=none --with-inputdrivers=none
运行脚本编译,可以顺利通过.但是有一个问题: 你可以看到fbdev永远都没有被配置进去

在configure文件中可以找到
have_linux=no
如果不修改,那么FBDev永远选不中
"
Building Core Systems:
Linux FBDev support no
X11 support no
OSX support no
SDL support no
VNC support no
"
所以修改成
have_linux=yes #Mic

第二个地方是
MODULEDIR=$libdir/$MODULEDIRNAME
修改成rootfs中的相对路径
MODULEDIR=/usr/lib/$MODULEDIRNAME
否则会出现找不到system的错误




测试程序
安装后在路径下可以看到
[root@109 bin]# ls
arm-dfbdump    arm-dfbpenmount        arm-mkdfiff   libpng-config
arm-dfbg       arm-dfbscreen          arm-mkdgiff   libpng12-config
arm-dfbinfo    arm-dfbsummon          cjpeg         perl
arm-dfbinput   arm-directfb-config    djpeg         rdjpgcom
arm-dfblayer   arm-directfb-csource   jpegtran      wrjpgcom
运行
./arm-dfbg -t minicooper.jpg
阅读(1504) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~