1. 程式人生 > >【備忘】用ndk編譯freetype

【備忘】用ndk編譯freetype

@import url(http://www.cppblog.com/cutesoft_client/cuteeditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.cppblog.com/cutesoft_client/cuteeditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 在Android下需要用到字型光柵化,於是要用到freetype這個開源的字型光柵化的庫。 因為是和ios開發放在一個機器上,所以下面的過程是在macos的控制檯下進行的。 第一步:建立ndk的工具鏈    ndk的工具鏈是用來做一些第三方庫的交叉編譯用的,或者是不想使用ndk-build工具的人用的。它生成時需要指定api版本,也就是說一個工具鏈只能針對一個特定的api版本。並且生成的工具鏈無法使用rtti,exception和stl。    要生成工具鏈,先要配置一些路徑:    NDK_ROOT=~/Dev/android/sdk/ndk-r7-crystax
   NDK_TOOLS_PATH=~/Dev/android/sdk/ndk-tools
   XCODE_PATH=/Applications/Xcode.app/Contents/Developer    NDK_ROOT 是ndk的路徑,這裡使用的是crystax修改的版本,支援寬字元和c++0x    NDK_TOOLS_PATH 是ndk的tools chain的路徑,這個目錄要事先建好。    XCODE_PATH 是xcode安裝的路徑,實際上是usr目錄所在的Developer目錄的路徑。這個只有在macos上才需要。    配置好後,執行         $NDK_ROOT/build/tools/make-standalone-toolchain.sh --platform=android-14
--install-dir=${NDK_TOOLS_PATH} --xcode=${XCODE_PATH}    這個指令碼用來為ndk建立一個獨立的toolschain,專門針對特定的api版本。這裡選擇的api版本是14,也就是紅字標記的位置。    執行完指令碼,獨立的工具鏈就生成好了。 第二步:配置freetype    在freetype的路徑下執行        ./configure --host=arm-linux-androideabi --prefix=${NDK_TOOLS_PATH}    這個命令用來配置編譯環境,執行後,會看到一些checking。這裡還可以配置其他的東西,可以參考其他文件。 第三步:編譯安裝    在freetype的路徑下執行       make    就開始編譯freetype了。    編譯結束後       make install    就會把freetype的.a檔案和標頭檔案等拷貝到 ${NDK_TOOLS_PATH}下了。 2012-12-27 補充:
   第一步建立好toolchain之後,在path里加上${NDK_TOOLS_PATH}/bin       PATH=$PATH:${NDK_TOOLS_PATH}/bin