饭中淹的避难所~~~~~

偶尔来避难的地方~

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  94 随笔 :: 0 文章 :: 257 评论 :: 0 Trackbacks
@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


posted on 2012-12-26 17:27 饭中淹 阅读(2667) 评论(1)  编辑 收藏 引用

评论

# re: 【备忘】用ndk编译freetype 2013-06-02 21:54 boom
为什么 我执行 ./configure 时 出现 Nothing to be done for `unix'.  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理