アプリケーションは、Cygwin ではなく MinGW を使用してコンパイルする必要があります。
私が従ったステップの完全なリスト:
1) MinGW をダウンロード
2) MinGW をスペースのないフォルダー (c:\MinGW など) にインストールします。
3) gtk+ をダウンロードします。私のマシンは 64 ビットですが、64 ビット ダウンロード ページに互換性に関する警告が表示されたため、gtk+ の 32 ビット ダウンロードを選択しました。GTK+ Win32 のダウンロードはこちら. 私はオールインワンバージョンに行きました。
4) gtk+ をスペースのないフォルダーに抽出します (例: c:\gtk)。
5) アプリケーションがまだない場合は、gtk+ hello worldソース コードを使用できます。これをフォルダーに保存します。例: c:\myapp\
6) Windows コマンド プロンプトを開き、ステップ 5 のフォルダーに移動します。
cd c:\myapp
7) コマンド ウィンドウで、MinGW フォルダーを Windows PATH に追加します。
c:\myapp> set PATH=c:\gtk\bin;%PATH%
8) コマンド ウィンドウで、gtk+ フォルダーを Windows PATH に追加します。
c:\myapp> set PATH=c:\gtk\bin;%PATH%
9) アプリケーションをコンパイルするスクリプトを作成します。
C:\myapp> C:\MinGW\msys\1.0\bin\bash.exe -c "echo gcc -Wall -g helloworld.c -o helloworld `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0` > compile.bat"
bash.exe へのフル パスを指定する必要があることに注意してください。何らかの理由c:\MinGW\msys\1.0\bin
で、PATHに追加して使用するだけでbash.exe
はうまくいきませんでした。
10) compile.bat でアプリケーションをコンパイルします。
c:\myapp> compile.bat
12) アプリケーションを実行します。
c:\myapp> helloworld.exe

編集:
ステップ 9 ではgcc
、正しいインクルードとライブラリ オプション設定で gtk+ をコンパイルするコマンドを作成しています。
これはcompile.bat
私のために生成された内容です:
gcc -Wall -g helloworld.c -o helloworld -mms-bitfields -Ic:/DEV/gtk224/include/gtk-2.0 -Ic:/DEV/gtk224/lib/gtk-2.0/include -Ic:/DEV/gtk224/include/atk-1.0 -Ic:/DEV/gtk224/include/cairo -Ic:/DEV/gtk224/include/gdk-pixbuf-2.0 -Ic:/DEV/gtk224/include/pango-1.0 -Ic:/DEV/gtk224/include/glib-2.0 -Ic:/DEV/gtk224/lib/glib-2.0/include -Ic:/DEV/gtk224/include -Ic:/DEV/gtk224/include/freetype2 -Ic:/DEV/gtk224/include/libpng14 -Lc:/DEV/gtk224/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl
そのうち、によって作成された include オプションpkg-config --cflags gtk+-2.0
:
-mms-bitfields -Ic:/DEV/gtk224/include/gtk-2.0 -Ic:/DEV/gtk224/lib/gtk-2.0/include
-Ic:/DEV/gtk224/include/atk-1.0 -Ic:/DEV/gtk224/include/cairo
-Ic:/DEV/gtk224/include/gdk-pixbuf-2.0 -Ic:/DEV/gtk224/include/pango-1.0
-Ic:/DEV/gtk224/include/glib-2.0 -Ic:/DEV/gtk224/lib/glib-2.0/include
-Ic:/DEV/gtk224/include -Ic:/DEV/gtk224/include/freetype2
-Ic:/DEV/gtk224/include/libpng14
(stackoverflow での読みやすさを向上させるために、上記で改行を入れたことに注意してください)
pkg-config --cflags gtk+-2.0
gtk+ インクルード ファイル (c:/DEV/gtk224/include/) のフル パスが含まれていることに注意してください。
そして、によって生成されたライブラリ オプションpkg-config --libs gtk+-2.0
:
-Lc:/DEV/gtk224/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0
-lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0
-lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl
(stackoverflow での読みやすさを向上させるために、上記で改行を入れたことに注意してください)
pkg-config --libs gtk+-2.0
gtk ライブラリ フォルダーのフル パス (c:/DEV/gtk224/lib) が含まれていることに注意してください。
詳細についてpkg-config
は、GTK+ のドキュメントを参照してください。