GTK+DFB 的交叉编译

pc环境: ubuntu8.04 

目标机: s3c2440

 编译器: 3.4.1

 

 

准备源码包:

gtk+-2.12.9.tar.bz2
001-gtk+-2.12.9-dok4.zip
002-gtk+-2.12.9-gdkkeys_fix.zip
003-gtk+-2.12.9-dok-scroll-experimental.patch.zip
004-gtk+-2.12.9-dok-visual-fix.patch.zip
005-gtk+-2.12.9-dok-event-block-fix.patch.zip
006-gtk+-2.12.9-dok-set-default-display-fix.patch.zip
007-gtk+-2.12.9-dok-set-focus-fixes.patch.zip
DirectFB-1.2.3.tar.gz
001-dfb-dok-list-crash-fix.patch.zip
atk-1.13.2.tar.bz2
expat-2005-12-27.tar.gz
fontconfig-2.4.92.tar.gz
freetype-2.3.7.tar.gz
glib-2.16.3.tar.bz2
jpegsrc.v6b.tar.gz
libpng-1.2.29.tar.bz2
libxml.tar.gz
pango-1.20.2.tar.bz2
pkg-config-0.22.tar.gz
tiff-3.7.4.tar.gz
zlib-1.2.3.tar.gz

 

 

安装目录选在/usr/local/dfb
编译过程记录,大都网上抄的:

 

设置环境变量:
export PREFIX=/usr/local/dfb                         
export LDFLAGS=-L$PREFIX/lib                          
export CFLAGS="-g -I$PREFIX/include"                   
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig

 

1.glib
echo ac_cv_type_long_long=yes>arm-linux.cache
echo glib_cv_stack_grows=no>>arm-linux.cache
echo glib_cv_uscore=no>>arm-linux.cache
echo ac_cv_func_posix_getpwuid_r=yes>>arm-linux.cache
CC=arm-linux-gcc ./configure --host=arm-linux --build=i686-pc-linux --prefix=$PREFIX --cache-file=arm-linux.cache
这里还有个getgrgid的没test出来,照着上面的,
echo ac_cv_func_posix_getgrgid_r=yes>>arm-linux.cache

2.atk
./configure --host=arm-linux --prefix=$PREFIX

 

3. zlib
CC=arm-linux-gcc ./configure --prefix=$PREFIX --shared

4. jpeg-6b


./configure  --prefix=$PREFIX --enable-shared --enable-static
修改Makefile文件:
    CC= gcc  该成  CC=arm-linux-gcc
       AR= ar rc 该成  AR= arm-linux-ar rc
       AR2= ranlib 该成  AR2=arm-linux-ranlib
mkdir $PREFIX/man
mkdir $PREFIX/man/man1

 

5. libpng
./configure --host=arm-linux --prefix=$PREFIX

 

6. expat
./configure --host=arm-linux --prefix=$PREFIX

 

7. freetype
./configure --host=arm-linux --prefix=$PREFIX

 

8. libxml
./configure --host=arm-linux --prefix=$PREFIX

 

9. fontconfig
export LIBXML2_CFLAGS=-I$PREFIXinclude/libxml2
export LIBXML2_LIBS="-L$PREFIX/lib -lxml2"
./configure --host=arm-linux --prefix=$PREFIX --with-freetype-config=$PREFIX/bin/freetype-config --with-arch=arm

 

10. tiff
./configure --host=arm-linux --prefix=$PREFIX --enable-shared --enable-static

 

11.DirectFB
./configure --host=arm-linux --prefix=$PREFIX --with-gfxdrivers=none --enable-png --enable-jpeg --enable-tiff --enable-zlib --enable-sdl=no --enable-gif=no --disable-x11 

 

12. cairo
./configure --host=arm-linux --prefix=$PREFIX --without-x --disable-xlib --disable-xlib-xrender --enable-directfb --enable-freetype --disable-win32 --disable-pdf --enable-ps --disable-svg --enable-png

 

13.pango
修改configure文件
have_cairo=true
have_cairo_png=true        
have_cairo_ps=true
have_cairo_pdf=true
have_cairo_freetype=true
./configure --host=arm-linux --prefix=$PREFIX --enable-cairo --without-x

 

14. gtk
patch打好后
export LDFLAGS="-L$PREFIX/lib -Wl,-rpath,$PREFIX/lib"
export CPPFLAGS="-I$PREFIX/include"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
./configure --host=arm-linux --prefix=$PREFIX --with-gdktarget=directfb --without-x

 

顺利的话,半小时就可以编译完成。


然后在TargetBoard上:
mount -t nfs -o nolock 192.168.1.162(HostIp)/usr/local/dfb /usr/local/dfb
执行/usr/local/dfb/bin/pango-querymodules > /usr/local/dfb/etc/pango/pango.modules   生成pango.modules文件
另外好像还要生成个gdk-pixbuf.locaders文件,没成功,库连错,先放下了
然后/usr/local/dfb/bin/gtk-demo就可以跑了,字体跟触屏没好,还有个软浮点支持的问题,下次换个编译器继续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值