C0EEBDA1

在梦中,我是有超能力的。。。

« 海大的一个LED键盘模组的引脚定义Fireworks在嵌入式系统里的另类应用。。。 »

freetype在S+core平台上的移植的另一法(适用于几乎任何gcc为基础的平台哦!)

freetype提供了完整的automake机制,之前并没有考虑使用它。今天试了一下,没问题,完全可以使用automake编译在S+core平台下工作的freetype出来。方法如下:

configure虽然提供了--host来提供交叉编译的方法,但是score-elf-gcc不能直接通过configure的测试,原因如下:

score-elf-gcc虽然是标准的gcc,但是它自身有如下特性:

· 默认并非小端数据格式

· 默认并非S+core7 CPU

· 默认使用的C库是newlib,这个C库的特点是,如果需要链接可执行程序,用户需要提供一个libgloss.c

虽然我们编译freetype只是需要得到一个library,看起来好像不需要gcc做链接,但是configure在测试gcc的过程中,需要验证gcc是否可以正常产生可执行文件,而针对此,默认的score-elf-gcc肯定是无法通过测试的。

所以,首先需要对score-elf-toolchain做如下处理:

在IDE中找到libgloss.c文件,并编译:

score-elf-gcc -c -mel -mscore7 libgloss.c

将得到一个libgloss.o,然后将其制作成一个.a的静态库:

score-elf-ar q libgloss.a libgloss.o

然后,将libgloss.a安装到score-elf-toolchain中:

cp libgloss.a /usr/local/score/4.2.1/score-elf/lib/mel/

接着,设置CFLAGS和LDFLAGS两个环境变量,让score-elf-gcc的默认参数符合SPCE3200:

export CFLAGS='-O2 -mel -mscore7'

export LDFLAGS='-mel -mscore7 -lm -lc -lgcc -lgloss'

至此,准备工作已经就绪,接下来就可以编译freetype了:

./configure --host=score-elf --without-zlib --prefix=$PWD/_install

make

make install

在_install目录中,找到lib下的libfretype.a即可!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80722 Code detection by Codefense  theme by BokeZhuti

Copyright 2008-2009 C0EEBDA1. Some Rights Reserved. 备案号:京ICP备09020681号