今天在成功交叉编译cairo,
使用的交叉编译起是mips-gcc
在编译的整个过程还是很多的常识性错误的。
首先看配置:
./configure --prefix=/mnt/mips-cairo --host=mips --enable-directfb --disable-win32 --disable-pdf --disable-ps --enable-xlib=no --enable-xlib-xrender=no --enable-win32-font=no --enable-freetype CC=mips-gcc CXX=mips-g++ LDFLAGS=-L/usr/local/mips-crosstools/mipsel-linux/lib CPP21FLAGS=-I/usr/local/mips-crosstools/mipsel-linux/include directfb_LIBS=-L/opt/bcmplatform/refsw-20090209.97405/nexus/lib/directfb/src/DirectFB-1.0.0/build.97405B0/usr/lib directfb_CFLAGS=-I/opt/bcmplatform/refsw-20090209.97405/nexus/lib/directfb/src/DirectFB-1.0.0/build.97405B0/usr/include/directfb png_LIBS=-L/opt/bcmplatform/refsw-20090209.97405/BSEAV/lib/libpng png_CFLAGS=-I/opt/bcmplatform/refsw-20090209.97405/BSEAV/lib/libpng FREETYPE_LIBS=-L/opt/bcmplatform/refsw-20090209.97405/BSEAV/lib/freetype-2.1.5/lib FREETYPE_CFLAGS=-I/opt/bcmplatform/refsw-20090209.97405/BSEAV/lib/freetype-2.1.5/include
设置安装目录: --prefix=/mnt/mips-cairo
平台: --host=mips
一些配置项:
--enable-directfb --disable-win32 --disable-pdf --disable-ps --enable-xlib=no --enable-xlib-xrender=no --enable-win32-font=no --enable-freetype
设置交叉编译环境相关内容:
CC=mips-gcc CXX=mips-g++ LDFLAGS=-L/usr/local/mips-crosstools/mipsel-linux/lib CPP21FLAGS=-I/usr/local/mips-crosstools/mipsel-linux/include
需要依赖的其他库:
directfb_LIBS=-L/opt/bcmplatform/refsw-20090209.97405/nexus/lib/directfb/src/DirectFB-1.0.0/build.97405B0/usr/lib directfb_CFLAGS=-I/opt/bcmplatform/refsw-20090209.97405/nexus/lib/directfb/src/DirectFB-1.0.0/build.97405B0/usr/include/directfb png_LIBS=-L/opt/bcmplatform/refsw-20090209.97405/BSEAV/lib/libpng png_CFLAGS=-I/opt/bcmplatform/refsw-20090209.97405/BSEAV/lib/libpng FREETYPE_LIBS=-L/opt/bcmplatform/refsw-20090209.97405/BSEAV/lib/freetype-2.1.5/lib FREETYPE_CFLAGS=-I/opt/bcmplatform/refsw-20090209.97405/BSEAV/lib/freetype-2.1.5/include
make
make install 搞定
以上的东西都是正确。
这里需要记录下自己犯的低级性错误:
在查看./configure --help 后发现需要指定一些额外的库,比如: C compiler flags for POPPLER, overriding pkg-config
POPPLER_LIBS
linker flags for POPPLER, overriding pkg-config
LIBRSVG_CFLAGS
C compiler flags for LIBRSVG, overriding pkg-config
LIBRSVG_LIBS
linker flags for LIBRSVG, overriding pkg-config
等,
我是这么指定的:
FREETYPE_LIBS=/opt/bcmplatform/refsw-20090209.97405/BSEAV/lib/freetype-2.1.5/lib FREETYPE_CFLAGS=/opt/bcmplatform/refsw-20090209.97405/BSEAV/lib/freetype-2.1.5/include
如果采用上述的指定方式的话,在编译的时候是无法找到相应的头文件的,正确的书写方式是:
FREETYPE_LIBS=-L/opt/bcmplatform/refsw-20090209.97405/BSEAV/lib/freetype-2.1.5/lib FREETYPE_CFLAGS=-I/opt/bcmplatform/refsw-20090209.97405/BSEAV/lib/freetype-2.1.5/include
我自己认为这是自己经验缺乏,也同时反应了autognu的一个缺陷。 在帮助文件中,并没有说明指定的方式。
阅读(5240) | 评论(0) | 转发(1) |