なぜか次世代 HorliX (PHORLIX) の活動が活発化しているみたいで、私も乗り遅れまいと何かできることを探す。
隙間時間使って、ちょっとしたアウトプット出したいとなると、DICOM のタグ解析あたりか。
しっかりやるとなると大変だが、DICOM のタグ解析のライブラリとして有名な DCMTK を Mac でお試しに使ってみよう。
といっても最新 Ver 3.6.7 のライブラリ構築はできている。
意味あるかどうかはわからないが、コマンドラインツールを Xcode でビルドしてみる。
Xcode で Objective-C のコマンドラインツールのプロジェクトを生成して、バイナリツールのソース(今回は dcm2json にした)を持ってきて・・・とやる。
あっさり成功。
CMake ではできているので、当たり前か。
若干、迷うとしら、リンカオプションの与え方。
ライブラリ自体をビルドした時、私は WITH ZLIB を YES にしたので、zlib 自体のコードはライブラリやヘッダに含まれているはず。
最初、「だから、zlib 関係のオプションは要らんかな」と思っていたが、実際ビルドすると、zlib_version が undefined symbol(s) で見つからないとリンカに怒られてしまった。
dcmtk と zlib は(同包されているとはいえ)本来は、別ライブラリなので、それもそうか。
結局、-lz というオプションを与えて解決。
きれいにビルドできましたとさ。
しかし、libzlib とかって Mac のどこにあるんでしょうね?
時間あったら調べます。
補足:DCMTK ビルド時に zlib や iconv を使ったかどうかは人によって異なるし、しばらく経つと自分でも忘れると思うのでので、dcmtk のライブラリを使いたい時は
#ifdef WITH_ZLIB
#include <zlib.h> /* for zlibVersion() */
#endif
#ifdef DCMTK_ENABLE_CHARSET_CONVERSION
#include "dcmtk/ofstd/ofchrenc.h" /* for OFCharacterEncoding */
#endif
をおまじないのように書いておくといいかもしれません。
参考:libzlib を見つけに行く時に、Xcode で使える環境変数を知っておくと便利。
あたりを参考に。これは使ってないと忘れる。
なお、Xcode から、ビルドしたいコマンドラインツールに引数を与える方法はこの記事参照。