Runner in the High

技術のことをかくこころみ

TaglibをQtでビルドして使う on Windows

【準備】
  • Taglib 1.8
  • CMake(cmake-gui

【STEP1】

まずは cmake-gui を起動。あらかじめ Taglib はどっかに展開しておいておく。


ソースコードの場所(Where is the source code)とバイナリの出力先(Where to build the binaries)の両方に、taglibのフォルダ(展開したところ)を指定して、「Configure」で開始する。この際に、利用するジェネレーター(?)を選ばされるが、ここでは「MinGW Makefiles」を選択する。



また、MinGWの実行ファイル(arとかc++)へのパスが通っていない場合もエラーになるので、状況に応じてパスを通しておく。 下のテキストボックスに、なにもエラーや警告が出ず 「Configuring done」 と出力されればOK

最初のConfigure後

【STEP2】

上の赤くハイライトされた項目の一覧で、コンフィギュレーションの設定をいろいろと変えられる。
リリースビルドにしたい場合には、この項目の中のにあるCMAKE_BUILD_TYPEに「Release」と指定するらしい。もしかしたら、いろいろパスとかはいじっておいた方がいいのかもしれないが、そのへんは良く分からないのでパス。

満足のいくように設定が済んだら、再度「Configure」で設定ファイルを出力させ、最後に「Generate」でビルドに必要なファイルを生成させる。

2回目のconfigure後

※ここまでの間にでてくるであろう「Could NOT find ZLIB...」というメッセージは無視してもかまわない。
どうしても気になるのであれば、 Zlib for Windows から「Developer files」のパッケージをダウンロードし、エラーメッセージに従って然るべき項目に値をセットすればよい。

【STEP3】

これでビルドに必要なファイルはあらかた揃ったので、Qt Creater (2.6.2) でのビルドにはいる。
ここで必要になるのが、Qt Creater 用のプロジェクトファイルなのだが、いろいろと手間がかかるので、あらかじめ 用意しておいたこのGist をダウンロードして使う。
中身を見ればわかると思うので、然るべきパスにこいつを放り込んで、Qt Creater で開く。
そうすると、膨大な量のヘッダーファイルやらソースファイルやらが左のプロジェクトツリーにでてくる。


ここまでくれば、あとはビルドをリリースに設定して、トンカチボタンでビルドを開始するだけ。
ゆっくり茶でも飲んで待つ。

※このときに、236個などという恐ろしい数の警告があふれ出てくるが、放っておいてもライブラリ自体は使えるので問題は無い。どうしても警告が嫌だというのならば、ソースコードを修正してもよいかもしれないが、ワイはどうなっても知らんぞ。

【STEP4】

完成したライブラリは taglib-1.8 と同じフォルダの taglib-release に生成されるので、あとはそれを自分の好きなように使う


インクルード用のヘッダーファイルは、なぜかどこにも見つからないので、とりあえず taglib-1.8 の中に含まれているヘッダーファイルを全部一つにまとめて使う。
一応これでエラーは起こらないし、まともに使えるからたぶん大丈夫だと思う(棒

P.S. 2014/02/20
ビルド済みライブラリを今の環境(Win7 64bit Professional)で使用すると
実行段階の際に謎のクラッシュが起こる。
原因はビルドしたときの環境が32ビットだったからではないかと思うが、、
(参考:64bitアプリと32bit DLLの混在

(参考URL) How to compile TagLib on Windows - Joel Verhagen