やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

GTKmmを使ってみた

GTKmmをインストールして使ってみた。

入手先

GitHub MEGA

開発環境

ライブラリ

GTKmm

GTK+C++言語で使うためのラッパ。

GTKmm ver 圧縮サイズ 解凍後サイズ
2.22 59.1MB 491.1MB
2.16 43.9MB 369.0MB

上記のリンクからダウンロードする。

2.22

2.16にはVC++2010用のバイナリがなかった。 2.22をダウンロードすること。

GTK+

GTKmmだけでなくGTK+も含まれていた。 よって、前回から使っていたglade3-3.6.7-with-GTK+.exeは不要になるか。

glade vs Gtkmm

ツールキット 解凍後サイズ mm(C++ラッパ)
glade 3.6.7 130.3MB 無し
Gtkmm 2.22 491.1MB 有り

インストール

手順1 手順2 手順3 手順4 手順5 手順6 手順7 手順8 手順9

以上。ちなみに開発せず実行するだけなら以下のようにRunTimeをインストールすればいいと思われる。 これなら259MBで済む。それでも重い。

Runtime

システム環境変数に以下が追加されていた。

変数
GTKMM_BASEPATH C:\gtkmm

Hello Gtkmm プロジェクト

こちらを参考にした。

新規プロジェクト作成

いつもどおり新規プロジェクトを作成した。

  • 新規プロジェクト作成
    • Win32
    • 空のプロジェクト

プロパティ・シートの設定

つぎにGTKmm内にあったプロパティ・シートを設定した。

拡張子.props(vsprops)のファイルは、VC++での参照設定などを保存するファイルらしい。 GTKmmにはあらかじめこのプロパティ・シートが用意されていた。 これを取り込めば面倒な参照設定を手動でやらずに済むらしい。至れり尽くせり。

C:/gtkmm/MSVC/ 内容
gtkmm-vc100-2_4.props Releaseビルド用
gtkmm-vc100-d-2_4.props Debugビルド用

プロパティ・シートの設定ははじめてやったので、画像キャプチャを残しておく。

手順1 手順1 手順1 手順1 手順1 手順1 手順1

ソースコード

なんと、たったこれだけ。

信じられないほど短い。 GTK+WindowsAPIと比較すると雲泥の差。 これはすごい。

API 行数
GTKmm 8
GTK+ 12
Win32API 54

行数は空行をのぞいた値。

もうWndProcなんて使いたくなくなる。 .NET Framework の Form Application並みにみえる。

実行結果

手順1

できた! ウインドウのタイトルにはexeファイルの名前が自動で表示するようになっているのか。

参考

所感

GTK+に比べてかなり楽で見やすいコードにできる予感。 気になるのは実行速度か。