交叉编译directfb

来源:互联网 发布:mac如何下载qq游戏 编辑:程序博客网 时间:2024/05/15 11:25

http://hi.-baidu.---c--o-m  ---/findtest/blog/item/b8e92508fbd7ded362d986dd--.html
在我的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
0 0
原创粉丝点击