必要なもの
まず、以下のものをダウンロードする。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
今回は、この環境を利用して、ビルドを行う。以後、この環境がインストール済みという前提で、作業をおこなう。
インストールは、「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 を使う必要があるようだが、ビルドできないのでは、しょうがない。