天天看點

矢量字型-FreeType的移植安裝一、安裝到Linux主機上二、安裝到交叉編譯工具arm-linux-gcc上

Freetype下載下傳網站:https://www.freetype.org/

環境:Ubuntu 15.10

Linux kernel:3.4.2

freetype版本:freetype-2.4.10

gcc: 4.3.2

一、安裝到Linux主機上

1、解壓安裝包

在網下下載下傳好安裝包後,使用ftp工具上傳到Linux主機的某個目錄下,然後可以使用一下指令進行解壓。 我上傳到Linux的目錄為:/work/tools/

[email protected]:/work/tools# ls

freetype-2.4.10.tar.bz2

[email protected]:/work/tools# tar xjf freetype-2.4.10.tar.bz2

2、進入解壓後的檔案目錄

解壓壓縮包後,将會得到freetype-2.4.10這個檔案夾,然後通過cd指令進入這個檔案夾

[email protected]:/work/tools# ls

freetype-2.4.10 freetype-2.4.10.tar.bz2

[email protected]:/work/tools# cd freetype-2.4.10

[email protected]:/work/tools/freetype-2.4.10#

3、安裝到Linux

可以參考freetype-2.4.10/doc/INSTALL.UNIX檔案

1)在freetype-2.4.10目錄下執行以下指令,生成Makefile檔案

2)生成Makefile後,進一步編譯,執行make指令

3)編譯過後,執行以下指令進行安裝

NOTE:

1、如何不是在root權限下的話,需要在前面加sudo指令

2、這個指令是安裝到預設路徑/usr/local下的,如果想指定安裝路徑可以使用–prefix=指令指定

例如:

./configure –prefix=/usr/local/freetype

這樣freetype就會安裝到你指定的/usr/local/freetype目錄下了

以上安裝freetype到Linux主機上就完成了!!!

二、安裝到交叉編譯工具arm-linux-gcc上

1、解壓

1)在/work/toos/目錄下建立一個tmp目錄,然後把壓縮包複制到這個建立的目錄下

[email protected]:/work/tools# ls

freetype-2.4.10 freetype-2.4.10.tar.bz2

[email protected]:/work/tools# mkdir tmp

root@ubuntu:/work/tools# cp freetype-2.4.10.tar.bz2 /work/tools/tmp/

[email protected]:/work/tools# cd tmp/

[email protected]:/work/tools/tmp# ls

freetype-2.4.10.tar.bz2

)然後解壓  
`root@ubuntu:/work/tools/tmp# tar xjf freetype-2.4.10.tar.bz2`   
`root@ubuntu:/work/tools/tmp# ls`  
`freetype-.  freetype-..tar.bz2`  

##2、進入解壓後的檔案目錄  
可以參考freetype-./doc/INSTALL.CROSS檔案  

解壓後會得到freetype-.檔案,進入後先建立一個臨時檔案夾tmp,用來指定安裝路徑的目錄,  
然後執行以下指令  
           

[email protected]:/work/tools/tmp/freetype-2.4.10# ./configure --host=arm-linux

[email protected]:/work/tools/tmp/freetype-2.4.10# make

[email protected]:/work/tools/tmp/freetype-2.4.10# make DESTDIR=$PWD/tmp install

NOTE:

1、PWD代表的是目前路徑

2、–host=arm-linux 指定被執行檔案的系統

2、确定交叉編譯工具,頭檔案,庫檔案的安裝路徑

1)交叉編譯工具路徑:

[email protected]:/work/tools/tmp/freetype-2.4.10# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/

games:/usr/local/arm/4.3.2/bin::/opt/FriendlyARM/toolschain/4.3.2/bin

NOTE:

1、PATH代表壞境變量

2、由上可知道交叉編譯工具的路徑為 /usr/local/arm/4.3.2/

進入到交叉編譯工具的安裝目錄/usr/local/arm/4.3.2/

[email protected]:/work/tools/tmp/freetype-2.4.10# cd /usr/local/arm/4.3.2/

[email protected]:/usr/local/arm/4.3.2#

2)頭檔案include目錄

确定頭檔案路徑

[email protected]:/usr/local/arm/4.3.2# find -name include

./lib/gcc/arm-none-linux-gnueabi/4.3.2/include

./lib/gcc/arm-none-linux-gnueabi/4.3.2/install-tools/include

./arm-none-linux-gnueabi/include

./arm-none-linux-gnueabi/libc/usr/include

[email protected]:/usr/local/arm/4.3.2#

看到這麼多個include,有人會有疑問,怎麼知道是哪一個了?

我們可以通過查找stdio.h在哪個來确定

[email protected]:/usr/local/arm/4.3.2# find -name stdio.h

./arm-none-linux-gnueabi/include/c++/4.3.2/tr1/stdio.h

./arm-none-linux-gnueabi/libc/usr/include/stdio.h

./arm-none-linux-gnueabi/libc/usr/include/bits/stdio.h

[email protected]:/usr/local/arm/4.3.2#

NOTE:

1、由于平時我們引用頭檔案的時候都是直接#include

3、拷貝freetype的頭檔案

在剛才安裝freetype到tmp這個臨時檔案下,将裡面的頭檔案和庫檔案配置設定拷貝到交叉編譯工具的頭檔案和庫檔案路徑下

1)複制頭檔案

進入到/tmp/usr/local/inculde

[email protected]:/work/tools/tmp/freetype-2.4.10/tmp/usr/local/include# cp * /usr/local/

/4.3.2/arm-none-linux-gnueabi/libc/usr/include -rf

如果編譯時找不到freetype檔案路徑的話,進入include目錄執行以下指令

[email protected]:/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include# mv freetype2/freetype .

2)複制庫檔案

進入到/tmp/usr/local/lib

[email protected]:/work/tools/tmp/freetype-2.4.10/tmp/usr/local/include# cp * /usr/local/

arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib -d -rf

以上移植freetype到交叉編譯工具上就完成了, 如有不對的地方請指出 !!!

繼續閱讀