windowsで、mono + gtk3 のインストール手順
Windowsで Mono + GTK3 の環境を構築するには、以下の手順に従ってください。これはC#アプリケーションでGTK#(GTK bindings for .NET)を使うためのセットアップです。
目次
✅ ステップ 1: Mono のインストール
- Mono公式サイトにアクセス。
- 「Windows」のセクションから「Windows Installer」をダウンロード。
- ダウンロードした
.msi
ファイルを実行し、Monoをインストール。
インストール確認(PowerShell などで)
mono --version
✅ ステップ 2: GTK3 のインストール
GTK3をWindowsに導入するには、MSYS2を使うのが一番楽です。
1. MSYS2 のインストール
- MSYS2公式サイト にアクセスし、インストーラーをダウンロード。
- インストール後、MSYS2 MSYSターミナルを起動して以下を実行:
pacman -Syu
(途中で閉じるように言われたら、閉じて再度MSYS2を開き、続けます)
pacman -Syu
2. GTK3 開発環境のインストール
pacman -S mingw-w64-x86_64-gtk3
3. GTK3 のバイナリを Windows で使えるようにする
GTK3 DLL群は以下のパスにあります(MSYS2のパスはデフォルトで C:\msys64
):
C:\msys64\mingw64\bin
このフォルダを 環境変数 PATH
に追加 することで、GTK DLLを認識できるようにします。
✅ ステップ 3: GTK#(GtkSharp)を使えるようにする
GTK#は MonoDevelop に付属していますが、手動でも導入可能です。
方法1:MonoDevelop をインストール(GUI付きIDEが必要な場合)
- MonoDevelopのWindowsビルド は古いですが、インストーラーにGTK#が含まれています。
方法2:NuGetでGtkSharpを導入(.NET CLIプロジェクト向け)
dotnet add package GtkSharp --version 3.22.25.1
※ただし、これは GTK3 とは異なり、一部は GTK4 用のバインディングだったり、やや混乱があります。実運用では GtkSharp/gtk-sharp GitHub を確認してください。
✅ サンプルコードで動作確認
using Gtk; class Program { static void Main() { Application.Init(); Window win = new Window("Hello GTK#"); win.DeleteEvent += delegate { Application.Quit(); }; win.ShowAll(); Application.Run(); } }
ビルド方法
mcs -pkg:gtk-sharp-3.0 hello.cs mono hello.exe
※
-pkg:gtk-sharp-3.0
はpkg-config
で GTK# を見つけられる場合のみ。うまくいかない場合、DLLの参照を明示的に追加する必要があります。
🔧 トラブルシューティング
- DLLが見つからない: GTKのDLLパスを
PATH
に追加したか確認。 - NuGetでGTK#が見つからない: GtkSharpプロジェクトのバージョンを確認。
- WindowsでGTKが動かない: MSYS2の
mingw64/bin
で直接gtk3-demo.exe
を動かして、GTK自体が動くかテストしてみましょう。
必要であれば、MSYS2環境でC#プロジェクトをビルド・実行する方法や、Visual Studioとの統合についても案内できます。どうしますか?