GTK-DirectFB 交叉编译过程

在网上看到一些交叉编译的文档,比较复杂,我这个比较简单,现在能开开发板上跑起来了,但还是有些问题,显示颜色不对,字符没有正常显示,触屏点击没有反应,外接鼠标可以动。本来想等解决好了在写出来的,怕以后忘了,先整理出已完成的部分,以后再补将来弄好的。这里共编译了14个源码包,版本没有选最新的,因为我用的交叉编译器是3.4.1的,最新的g lib编译可能有问题,找了一个稍早的版本,下面是源码包列表
-rw-------  1 kendy kendy   666821 2008-08-04 10:14 atk-1.19.3.tar.bz2
-rw-------  1 kendy kendy  3216689 2008-08-04 10:14 cairo-1.4.10.tar.gz
-rw-------  1 kendy kendy  2624473 2008-08-04 10:14 DirectFB-1.1.0.tar.gz
-rw-------  1 kendy kendy   446456 2008-08-04 10:14 expat-2.0.1.tar.gz
-rw-------  1 kendy kendy  1278340 2008-08-07 10:55 fontconfig-2.4.2.tar.gz
-rw-------  1 kendy kendy  1279861 2008-08-04 10:15 freetype-2.3.5.tar.bz2
-rw-------  1 kendy kendy  2938164 2008-08-04 10:15 glib-2.12.13.tar.bz2
-rw-------  1 kendy kendy 15172170 2008-08-04 10:15 gtk+-2.10.14.tar.bz2
-rw-------  1 kendy kendy   613261 2008-08-04 10:15 jpegsrc.v6b.tar.gz
-rw-------  1 kendy kendy   650966 2008-08-07 10:23 libpng-1.2.19.tar.bz2
-rw-------  1 kendy kendy  4719760 2008-08-07 10:48 libxml2-2.6.29.tar.gz
-rw-------  1 kendy kendy  1355938 2008-08-04 10:15 pango-1.16.4.tar.bz2
-rw-------  1 kendy kendy  1282627 2008-08-04 10:15 tiff-3.7.4.tar.gz
-rw-------  1 kendy kendy   425209 2008-08-04 10:15 zlib-1.2.3.tar.bz2
安装目录选在/ usr/gtkdfb以下是编译过程, 下面有些只写了configure,  没有写make, make install并不代表不需要做,如果你尝试的时候请补上


export PREFIX=/usr/gtkdfb
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=/usr/gtkdfb --cache-file=arm-linux.cache
make
make install

2.atk
export PREFIX=/usr/gtkdfb
export LDFLAGS=-L$PREFIX/lib
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig

./configure --host=arm-linux --prefix=/usr/gtkdfb

3. zlib
CC=arm-linux-gcc ./configure --prefix=/usr/gtkdfb --shared


4. jpeg-6b
./configure  --prefix=/usr/gtkdfb --enable-shared --enable-static
修改生成的Makefile文件:
       # The name of your C compiler:
       CC= gcc  该成  CC=arm-linux-gcc (根据你自己交叉编译器的位置修改)
       # library (.a) file creation command
       AR= ar rc 该成  AR= arm-linux-ar rc  (同上)
       # second step in .a creation (use "touch" if not needed)
       AR2= ranlib 该成  AR2=arm-linux-ranlib (同上)
mkdir /usr/gtkdfb/man
mkdir /usr/gtkdfb/man/man1

make
make install-lib

5. libpng
export LDFLAGS=-L/usr/gtkdfb/lib
export CFLAGS="-g -I/usr/gtkdfb/include"
./configure -host=arm-linux --prefix=/usr/gtkdfb

6. expat
./configure -host=arm-linux  --prefix=/usr/gtkdfb

7. freetype
./configure -host=arm-linux  --prefix=/usr/gtkdfb

8. libxml
./configure --host=arm-linux  --prefix=/usr/gtkdfb

9. fontconfig
export LDFLAGS=-L/usr/gtkdfb/lib
export CFLAGS="-g -I/usr/gtkdfb/include"
export LIBXML2_CFLAGS=-I/usr/gtkdfb/include/libxml2
export LIBXML2_LIBS="-L/usr/gtkdfb/lib -lxml2"
./configure --host=arm-linux --prefix=/usr/gtkdfb --with-freetype-config=/usr/gtkdfb/bin/freetype-config --with-arch=arm

10. tiff
./configure --host=arm-linux --prefix=/usr/gtkdfb --enable-shared --enable-static


11.DirectFB
export PREFIX=/usr/gtkdfb
export LDFLAGS=-L$PREFIX/lib
export CFLAGS="-g -I$PREFIX/include"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig

./configure -host=arm-linux --prefix=/usr/gtkdfb --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=/usr/gtkdfb --without-x --disable-xlib --disable-xlib-xrender --enable-directfb --enable-freetype --disable-win32 --disable-pdf --disable-ps --disable-svg --enable-png

13.pango
修改configure文件
have_cairo=true
have_cairo_png=true
have_cairo_freetype=true

./configure --host=arm-linux --prefix=/usr/gtkdfb --enable-cairo --without-x

14. gtk
export PREFIX=/usr/gtkdfb
export LDFLAGS="-L$PREFIX/lib -Wl,-rpath,$PREFIX/lib"
export CFLAGS="-g -I$PREFIX/include"
export CPPFLAGS="-I$PREFIX/include"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
./configure --host=arm-linux --prefix=/usr/gtkdfb --with-gdktarget=directfb --without-x

LDFLAGS中的-Wl,-rpath,$PREFIX/lib设定,解决了找不到pango的问题
设定了CPPFLAGS,解决了jpeglib.h找不到的问题,从而支持了jpeg


gtk编译时,还会报告cairo-pdf.h, cairo-ps.h等不存在,重新编译一下cairo, 将pdf和ps enable, 或者开始编译时不要disable这两个东东。



我的开发板的根文件系统采用nfs  mount,将/usr目录下的gtkdfb目录整个cp到nfs目录下的usr目录下,启动开发板,在开发板上运行/usr/gtkdfb/bin目录下的gtk-demo
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
atk-1.25.2.tar.gz atk-1.26.0.tar.gz bigreqsproto-1.1.2.tar.bz2 cairo-1.8.6.tar.gz CPAN-1.94.tar.gz DirectFB-1.1.1.tar.gz expat-2.0.1.tar.gz expat-2.1.0.tar.gz ExtUtils-MakeMaker-6.20.tar.gz fontconfig-2.4.2.tar.gz fontconfig-2.6.0.tar.gz fontconfig-2.7.3.tar.gz freetype-2.3.5.tar.bz2 freetype-doc-2.3.6.tar.bz2 glib-2.12.1.tar.bz2 glib-2.14.4.tar.gz glib-2.18.2.tar.bz2 glibc-2.2.5.tar.bz2 gtk+-2.10.14.tar.bz2 gtk+-2.10.7.tar.bz2 gtk+-2.12.12.tar.bz2 inputproto-2.2.tar.bz2 jpegsrc.v6b.rar jpegsrc.v6b.tar.gz kbproto-1.0.6.tar.bz2 libpng-1.2.10.tar.bz2 libpng-1.2.32.tar.lzma libpthread-stubs_0.1.orig.tar.gz libsndfile-1.0.28.tar.gz libtool-1.5.22.tar.gz libtool-2.4.2.tar.xz libX11-1.0.3.tar.bz2 libX11-1.2.2.tar.bz2 libX11-1.3.2.tar.gz libX11-1.5.0.tar.bz2 libXau-1.0.7.tar.bz2 libXau-1.0.8.tar.bz2 libxcb-1.3.tar.bz2 libxcb-1.4.tar.bz2 libxcb-1.8.1.tar.bz2 libXdmcp-1.0.3.tar.gz libXdmcp-1.1.2.tar.bz2 libXext-1.0.1.tar.bz2 libXfont-1.4.4.tar.bz2 libXft-2.1.12.tar.bz2 libXft-2.1.13.tar.bz2 libxml2-2.6.30.tar.gz libxml2-2.6.32.tar.gz libxslt-1.1.29.tar.gz libXt-1.0.6.tar.bz2 pango-1.16.4.tar.bz2 pango-1.18.2.tar.gz pango-1.22.1.tar.bz2 pango-1.24.4.tar.bz2 pixman-0.24.0.tar.bz2 poky-pinky-3.1.1.tgz stubs-soft.h tiff-3.8.2.tar.gz tiff-4.0.7.tar.gz tslib-1.4.tar.gz xcb-proto-1.7.1.tar.bz2 xcmiscproto-1.1.2.tar.bz2 xcmiscproto-1.2.2.tar.bz2 xextproto-7.2.1.tar.bz2 xorg-server-1.3.0.0.tar.bz2 xorg-server-1.4.2.tar.bz2 xproto-7.0.23.tar.bz2 xtrans-1.2.7.tar.bz2 zlib-1.2.3.rar zlib-1.2.3.tar.gz zlib-1.2.5.tar.gz

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值