dotXSIファイル(1) FTKのダウンロード

仕事が忙しいですが、この状態があと数ヶ月続くので、そうなると完全に仕事一色の生活になってしまいます。これじゃいかん! 幸い、久しぶりに家にあるPCでWeb閲覧以外のこと、プログラミングがしたくなっていたので、dotXSIファイルのビューアを作ることにしました。何故dotXSIファイルなのか。もらったデータがその形式だったからです。
とりあえず、去年書いてたmqoファイルロードのコードを引っ張り出してきて、VC++ 2005 Expressでビルドです。エラーチェックが厳しくなったので、その辺を修正。stl::vectorの[]が返す値のアドレスを、iteratorにキャストできなくなってました。世知辛い時代です。。。
libpngがなかったので最新のlibpng1.2.15と、zlib1.2.3を拾ってきてビルドしました。zlibをlibpngと同じフォルダに置いて、libpngのprojects/visualc71にあるプロジェクトファイルを開き、"Lib Debug"と"Lib Release"でビルドすればできあがりです。これを忘れていて、デフォルトの"ASM Release"のままビルドして「なんで動かないんだろう?」としばらく悩んでしまいました。ちなみに、以前、VC++6.0のころはコード生成をシングルスレッド用にしていたんですが、VC++ 2005ではマルチスレッドのみになってました。msdnによると、マルチスレッドでもシングルスレッド並みのパフォーマンスになるよう改善されたらしいです。へー。
それから、GLUTも拾ってきました。exit()でエラーが出るようになってしまったのですが、glut.hのインクルードの前にきちんとstdlib.hをインクルードするようにしたらエラーが消えました。
これで完璧! と思ったら、C標準関数が重複定義されてると怒られてしまいました。調べてみたら、なんでもmsvcrt.libとlibcmt.libのリンクの順番が大切らしいです。ライブラリの無視にこの二つを指定して、あらためて明示的にリンクするよう指定したらうまくいきました。順番が大切なのだよ順番が。
これでようやく一年前のコードがビルドできたので、ようやくdotXSIです。……でも、今日はもう疲れたのでここまで。
http://www.softimage.com/downloads/からXSI FTK v.3.6.3を、http://www.softimage.jp/support/download/other.htmlからXSI FTK v.3.6.2用の日本語ドキュメントを落として、ざっと眺めて今日は終わり!