freetype的安轉和使用

2021-07-24 13:01:30 字數 3813 閱讀 3746

1.tar xvj freetype-2.4.10.tar.bz2

2 cd freetype-2.4.10/

3  ./configure

4 make 

5 sudo make install  /* /usr/local/lib/*/

1.如此時編譯

gcc show_fontprint.c -o show_fontprint

error:/usr/local/include/ft2build.h:56:38: error: freetype/config/ftheader.h: no such file or directory

gcc show_fontprint.c -o show_fontprint -i /usr/local/include/freetype2 

error:show_fontprint.c:(.text+0x260): undefined reference to `ft_init_freetype'

gcc show_fontprint.c -o show_fontprint -i /usr/local/include/freetype2 -lfreetype

show_fontprint.c:(.text+0x2d8): undefined reference to `cos'

gcc  show_fontprint.c -o show_fontprint -i /usr/local/include/freetype2 -lfreetype -lm

error:converting to execution character set //第一次時會出現,第二次將不會出現

gcc -finput-charset=gbk -fexec-charset=utf-8 show_fontprint.c -o show_fontprint -i /usr/local/include/freetype2 -lfreetype -lm

gcc -finput-charset=gbk -fexec-charset=gbk 

/********************************************

/**/

/*在arm-linux上的編譯freetype上,並執行*/

/*在終端上列印訊息 */

/ *******************************************/

需要重新編譯freetype庫

tar xjf freetype-2.4.10.tar.bz2

cd freetype-2.4.10_arm/

vi docs/install.cross

標頭檔案放置目錄

/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/include

庫放置目錄

/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib

./configure --host=arm-linux

/*** ./configure --host=arm-linux  --prefix=/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/include  ***/

make 

make destdir=$pwd/tmp install  //***  make install 

把 /freetype-2.4.10_arm/tmp/usr/local/lib/*   複製到  /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib

sudo cp * /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib -d -rf

把 freetype-2.4.10_arm/tmp/usr/local/include/*  複製到  /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/include

cp *    /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/include  -rf

測試arm-linux-gcc show_fontprint.c -o show_fontprint

error : arm-linux/include/ft2build.h:56:38: freetype/config/ftheader.h: no such file or directory

freetype2/freetype/config/ftheader.h

解決1 : arm-linux-gcc show_fontprint.c -o show_fontprint -i  

/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/include/freetype2/freetype/config

解決2 : cd  /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/include 

mv freetype2/freetype .

rm -rf freetype2/

arm-linux-gcc show_fontprint.c -o show_fontprint 

error: : undefined reference to `ft_init_freetype'

error: : undefined reference to `ft_new_face'

arm-linux-gcc show_fontprint.c -o show_fontprint -lfreetype 

error: : undefined reference to `cos'

error: : undefined reference to `sin'

arm-linux-gcc -finput-charset=gbk -fexec-charset=gbk show_fontprint.c -o show_fontprint -lfreetype -lm

在板子上執行時,還需要將freetype的動態庫檔案拷貝到根目錄的lib裡面去

1.   cd /work/other_board/testdriver/project_one/2.3/freetype-2.4.10_arm/tmp/usr/local/lib

2    sudo cp *so* /work/nfs_root/first_fs/testlib/ -d  此時只是將so檔案拷貝到板子下的乙個板子掛載的臨時目錄下

進入板子的testlib目錄  cp *so*  /lib -d 

3 執行  

/********************************************

/**/

/*在arm-linux上的編譯freetype上,並執行*/

/*在lcd上列印訊息 */

/ *******************************************/

將**寫好後,執行

arm-linux-gcc -finput-charset=gbk -fexec-charset=gbk wt_all.c -o wt_all  -lfreetype -lm

error: failure to convert gbk to utf-8

出現這個原因是因為在本例子中,用的ascll字型檔有些無法轉換的字元

iconv -f gbk -t utf-8 wt_all.c 

將其中無法轉換的字元刪掉

freetype的使用及總結

總結 1 首先建立乙個庫 2 根據字型檔案得到face object 3 設定字型大小及第乙個座標值 4 載入face得到字型的glyph及buffer 5 顯示 每次顯示乙個字元都是根據前乙個字元的glyph得到下乙個字元座標的原點值,這樣方便顯示 include include include ...

hadoop安轉以及基本命令的使用

一 hadoop 2.6.x的安裝 1 解壓hadoop tar xzvf hadoop 2.6.x.tar.gz 四個引數x 從 tar 包中把檔案提取出來 z 表示 tar 包是被 gzip 壓縮過的,所以解壓時需要用 gunzip 解壓 v 顯示詳細資訊 f tar.gz 指定被處理的檔案是 ...

轉MongoDB 使用Skip和limit分頁

關於mongodb 資料分頁和排序 limit,skip使用者的一些基礎語句,介紹mongodb 資料分頁和排序例項方法。使用skip和limit可以如下做資料分頁 code page1 db.things.find limit 20 page2 db.things.find skip 20 lim...