@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