鄙人之前的一篇文章写到如何正确的编译通过freetype1-3-1,但是发现交叉编译出来的竟然是X86结构。于是又查阅了相关资料。
根据网上大卡们的一些实例似乎感觉freetype1-3b版本似乎没法编译成动态库。有些人编译成了静态库。而我自己则采用了网上另一种方法,直接取出和linux相关的代码,简单编译成动态库。操作过程中没有想到这种方法及其简单,真是运气太好了。
具体步骤:
1. 新建一个二级目录freetype/extend(mkdir -p freetype/extend)。
2. 将freetype的相关代码拷贝出来(cp freetype-1.3.1/lib/* freetype-1.3.1/lib/arch/ansi/* freetype/)。
这一步正常情况下会发生2个警告:因为拷贝没有带“-R”选项,所以警告略过目录
cp: omitting directory `freetype-1.3.1/lib/arch'
cp: omitting directory `freetype-1.3.1/lib/extend'
3. 继续拷贝extend里面的代码(cp freetype-1.3.1/lib/extend/* freetype/extend )。
4. 到这里需要的代码已经全了,下面进入freetype/(cd freetype)。
5. 编译freetype.c(arm-linux-gcc -c -fPIC -O2 freetype.c)。
6. 编译其他(arm-linux-gcc -c -fPIC -O2 -I./ extend/*.c)。
7. 链接成共享库(arm-linux-gcc --shared -o libttf.so *.o)。
8. 大功告成,libttf.so就是我们想要的。