在我的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) |