MSYSでのGTK+のビルドと、コマンドライン引数の問題が解決したので、ようやくGtk#のビルドに成功しました。
- MSYSでGTK+をビルド (2)
http://7shi.hateblo.jp/entry/2012/05/02/120012 - MSYSでGTK+をビルド (3)
http://7shi.hateblo.jp/entry/2012/05/06/110555 - MSYSのPOSIX互換レイヤと引数
http://7shi.hateblo.jp/entry/2012/05/05/220750
今回は.NET Framework 4.0をバックエンドとして動かすため、Monoは使用しません。
MSYSが勝手に引数を変換しないように細工した.NET関連のラッパーを用意しました。ビルドにはmsys-core-devが必要です。
$ mingw-get install msys-core-dev
- MSYSから.NET関連のコマンドを呼び出すラッパー
https://gist.github.com/2604163
$ make $ make install
Gtk#のソースをダウンロードして展開します。
$ curl -LO http://download.mono-project.com/sources/gtk-sharp212/gtk-sharp-2.12.10.tar.bz2 $ tar xvf gtk-sharp-2.12.10.tar.bz2 $ cd gtk-sharp-2.12.10
configureがCygwinを想定しているため、-mno-cygwinを取り除くパッチを当てます。今回使用したGLib 2.32.2は想定されているものより新しいらしく、ヘッダがエラーになるのでパッチを当てます。
- MSYSでGtk# 2.12.10をビルドするためのパッチ
https://gist.github.com/2607116
ビルドします。make installすると動作がおかしくなるので、敢えてしません。
$ ./configure $ make
インストールでおかしくなる原因は未調査です。インストールせずに単体では問題なく動くため、ビルド自体は正常にできているようです。今後の課題とします。
配布する際のランタイムとしては、Gtk#のバイナリ配布物をインストールすれば良いので、差し当たって問題はありません。