交叉编译DirectFB

在我的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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值