2012年8月11日土曜日

Android NDK で COLLADA dom ライブラリをビルド - 必要なもの


必要なもの

まず、以下のものをダウンロードする。Tegra Android Development Pack は、適当にインストールしておく。インストール時に、環境変数へ自動的に色々追加されるので、特に NDK とか Cygwin とかが、既に入っている環境の場合は、注意する必要がある。

Tegra Android Development Pack

  • Android SDK r18
  • Android NDK r8
  • JDK 6u24
  • Cygwin 1.7
  • Eclipse 3.7.1
  • CDT 8.0.0
  • ADT 15.0.0
  • Apache Ant 1.8.2
  • NVIDIA Debug Manager for Eclipse 12.0.0
Tegra Android Development Pack は、Android の開発環境一式が詰まったもの。
今回は、この環境を利用して、ビルドを行う。以後、この環境がインストール済みという前提で、作業をおこなう。
インストールは、「E:\appli\NVPACK」ディレクトリに行っている。
Android SDK、Cygwin および Eclipse は、それぞれの、アップデート機能で更新済み。
ccache の設定も行っている、このページの手順どおりに設定した。ただし、NDK r7 の場合のようなので、r8 の場合は、手順が異なるかもしれないが、確認していない。

詳しくは、NVIDIA のページを参照。

COLLADA Document Object Model (DOM)

ここのページの「collada-dom-2.4.0.tgz」を利用。
今回のターゲットライブラリ
ソースには、サンプルやらビュアーやらも入っているが、今回は dom のみビルドする。

以下、COLLADA DOM が利用している、ライブラリ。本来は、COLLADA DOM が利用しているものと、同じバージョンのものを利用するべきだが、新しいバージョンのものを利用している。理由など無い。ただそこに、新しいバージョンがあったから使ったまで。フッ

Boost C++ Libraries

ここのページの「boost_1_50_0.tar.bz2」を利用。
色々な機能の集合体のようなものらしい、このなかの「filesystem」および「system」だけをビルドする。COLLADA から参照しているヘッダ類は、もっと沢山ある。

Minizip: Zip and UnZip additionnal library

これは、COLLADA 同梱の「minizip-1.1」を、そのまま利用した。

PCRE - Perl Compatible Regular Expressions

ここのページの「pcre-8.31.tar.bz2」を利用。

TinyXML

ここのページの「tinyxml_2_6_2.zip」を利用。


上記の他に、libxml2 および zlib があるが、ビルド対象外とした。libxml2 を参照しているソースの一部をコメントアウトして、ライブラリのビルドを行わなくても済むようにする。

libxml2 については、ビルドにチャレンジしてみたが、私のスキルレベルでは、歯が立たなかった。
XML への準拠性を高めるには、 libxml2 を使う必要があるようだが、ビルドできないのでは、しょうがない。