一:准备环境。
1。 首先需要一个交叉编译器。我需要的版本是
/usr/local/arm-linux-gcc-3.4.3/
安装的路径是:/usr/local
$ ls /usr/local/arm-linux-gcc-3.4.3/
arm-linux arm-linux-uclibc bin bin-ccache include info lib libexec man usr
编译出来的文件都保存在:/usr/local/arm-linux里面
2. gstramer 依赖以下的packages:glib and libxml,这些包都可以从网上下载。
我用的是:glib-2.22.2.tar.bz2 gstreamer-0.10.25.tar.bz2 libxml2-git-snapshot.tar.gz
3。 有些版本的ulibc并不带有 libiconv 和 gettext 。编译glib 需要这两个包。
二:编译
1。编译libxml
CC=arm-linux-gcc ./configure --build=i686-linux --host=arm-linux --prefix=/usr/local/arm-linux CFLAGS=-I/usr/local/arm-linux/include/ --with-python=/usr/lib
make && make install
2。编译libiconv
CC=arm-linux-gcc ./configure --build=i686-linux --host=arm-linux --prefix=/usr/local/arm-linux
make && make install
3。编译gettext
CC=arm-linux-gcc ./configure --build=i686-linux --host=arm-linux --prefix=/usr/local/arm-linux
在我的系统上面会有wchar相关的错误。
find . -name "wchar.h"
rm ./gettext-tools/gnulib-lib/wchar.h ./gettext-runtime/gnulib