April 3, 2009

XMP ToolKit SDK のサンプルをコンパイル

コンパイル: 1回目

結果
======== ビルド: 0 正常終了、10 失敗、0 更新、0 スキップ ==========

失敗が10と出たけど、たくさんの種類のエラーが出ているというわけではありませんでした。

  error LNK1181: 入力ファイル 'XMPCoreStaticRelease.lib' を開けません。

なるほど、ライブラリが足りないと。
やっぱり、third-party というフォルダには目を通したほうが良かったみたい。

D:.
├─expat
│ ReadMe.txt

├─MD5
│ MD5.cpp
│ MD5.h

├─QTDevWin
│ ReadMe.txt

└─zlib
ReadMe.txt

ライブラリを揃える

Expat

Expat の version 2.0.0 が必要みたいです。
ReadMe.txt には入手したファイルを /third-party/expat/lib へとあります。(たぶん

Place Expat's lib directory within .../third-party/expat. I.e. as a sibling of this file.For Expat version 2.0.0 the contents of .../third-party/expat/lib are:
    amigaconfig.h
    ascii.h
    asciitab.h
    expat.dsp
    expat.h
    expatw.dsp
    expatw_static.dsp
    expat_external.h
    expat_static.dsp
    iasciitab.h
    internal.h
    latin1tab.h
    libexpat.def
    libexpatw.def
    macconfig.h
    Makefile.MPW
    nametab.h
    utf8tab.h
    winconfig.h
    xmlparse.c
    xmlrole.c
    xmlrole.h
    xmltok.c
    xmltok.h
    xmltok_impl.c
    xmltok_impl.h
    xmltok_ns.c

めんどくさいので、expat-2.0.0.tar.gz の lib のフォルダを丸ごと移動させました。
全部入れてしまえ(笑

QuickTime SDK for Windows

Apple Developer Connection : Development Kits

今回、QuickTimeのSDKがあることを初めて知りました。
Windowsの場合だと、これを用意しないといけないみたいです。
ReadMe.txt を見る限りだと、Macの場合は特に行うことはないみたいです。

今回は、QuickTime 7.3 SDK for Windows (Zip) をダウンロードしました。

ちなみに、ダウンロードはADCメンバーでないと出来ません。
メンバーでない方は新規にアカウントを作る必要があります。

解凍すると、インストーラーが出てくるので、それを実行します。
その後、CIncludes と Libraries を third-party/QTDevWin にコピーします。

これでQuickTimeはOK

Zlib

僕が使ったのは zlib123.zip です。

Place all top-level .c and .h files of the tar/zip you downloaded

解凍して出てきたトップ階層のフォルダ以外を全部入れてくださいってことでしょうか。とりあえず、third-party/zlib 移動させます。

コンパイル: 2回目

結果は変わらず。
同じエラーが出ます。

あ、順番ちが(笑

どうやら、あともう一つだけやることがあるみたいです。
build フォルダにあるファイルを使ってXMPCore と XMPFiles のコンパイルです。

おそらく、記事に沿っていればなんなく成功すると思います。

本当は、このコンパイルのために、expat, QuickTime SDK, zlib を揃えるみたいです。
まぁ、今までやってきたことは順番が違ってはいますが、うまくコンパイルできたのでいっか(笑

コンパイル: 3回目

成功しました!
ファイルは target\samples\windows\release に出てきます。

D:.
    CustomSchema.exe
    CustomSchema.map
    CustomSchema.pdb
    dumpfile.exe
    dumpfile.map
    dumpfile.pdb
    DumpMainXMP.exe
    DumpMainXMP.map
    DumpMainXMP.pdb
    DumpScannedXMP.exe
    DumpScannedXMP.map
    DumpScannedXMP.pdb
    ModifyingXMP.exe
    ModifyingXMP.map
    ModifyingXMP.pdb
    ReadingXMP.exe
    ReadingXMP.map
    ReadingXMP.pdb
    xmpcommand.exe
    xmpcommand.map
    xmpcommand.pdb
    XMPCoreCoverage.exe
    XMPCoreCoverage.map
    XMPCoreCoverage.pdb
    XMPFilesCoverage.exe
    XMPFilesCoverage.map
    XMPFilesCoverage.pdb
    XMPIterations.exe
    XMPIterations.map
    XMPIterations.pdb

今日はひとまずここまでとします。