GTK+ 3.0 を Windows にインストールするにはどうすればよいですか?

GTK+ Web サイトの問題は、これらのバイナリ ディストリビューションを維持する人がいないことです。 Windows 用の以前のバイナリ ディストリビューションは GTK+ 3.6 用でした。これは、以前ではないにしても、2012 年にリリースされたと思います。現在のバージョンは 3.16 で、3.18 は文字通り です。 解放されることから遠ざかります。 MSYS2 はサポートされている唯一のインストール メカニズムであり、頻繁に更新されます。

そうは言っても、MSYS ルートを使用する場合は GTK+ を別途インストールする必要があります。 MSYS には、そのままでは GTK+ が付属していません。から始める

pacman -Ss gtk3

これにより、32 ビットと 64 ビットの両方の MinGW 用の GTK+ ライブラリを含む、インストール可能なパッケージのリストが表示されます。正確な名前は忘れました。

必要なものが見つかったら、

pacman -S package-name-here

インストールします。次に、[スタート] メニューの MSYS フォルダーから MinGW 32 ビットまたは 64 ビット シェルを開き、開発を開始します。

GTK+ プログラミング用の従来の IDE が必要な場合は、GNOME Builder または Anjuta を調べてください。グラフィカル GUI デザイナーについては、Glade を参照してください。


ハレルヤ、私は Windows 用の GTK を取得するための正気の非 Linux バージョンを見つけました。

親切にも GTK ファイルをドロップボックスにアップロードしてくれました。ダウンロードして解凍するだけです。これは、この GTK/msys2 災害に遭遇した他の人のためのリンクです。

https://www.dropbox.com/sh/8d1qbh5dsp044on/UgkALzhlqH

これらのファイルは GTK Windows のダウンロード ページで入手できるはずですが、信じられないほどです。

このスレッドを閉じてください、ビバ ウィンドウズ。


GNOME コミュニティがこの時点で少し横柄であることに同意します.彼らは GTK+ のインストールを Linux のインストールとほぼ同じにしました.これはマクドナルドでペプシを与えるようなものです.

最悪なのは、どの IDE を選択するか、アプリをどのように構築するか、アプリに何が含まれるかを教えてくれるまで、独自のがらくたを使用することを余儀なくされていることです.. (個人的なことは何もありません。実際には常に Linux を好みます。私は偏見を持っていません)

具体的に言うと、Codeblocks について明示的に言及されました。code::block の GTK+ プロジェクトは使用しないでください。これは非常に時代遅れです。もちろん、スクリプトを変更したり、独自のスクリプトを作成したりできますが、それでも速度が低下し、私たちプログラマーは私たちの時間を大切にしてください (私はそう思います)

インストール手順(現在まで) GTK3 ver. Code::Blocks で使用するための Windows 7 上の 3.22.16 は、非常に単純であることが判明しました。最初に MSYS2 をダウンロードし、msys2 シェル内で次のように入力します。

pacman -S mingw-w64-x86_64-gtk3

(yを入力してください 確認する)次に

pacman -S mingw-w64-x86_64-toolchain base-devel (pkg-config のプリコンパイル済みバイナリがあることを確認し、最新バージョンの gcc があることを確認するため)

次に、CodeBlocks でいくつかの作業を行います。最初に、Codeblocks のコンパイラー設定 -> Toolchain 実行可能ファイルから新しいコンパイラーを設定します。新しいコンパイラは C:\msys64\mingw64 にあるはずです (C または MSYS をインストールしたディスク)

次に、Codeblocks のコンパイラ設定でいくつかのライブラリをリンクします -> 検索ディレクトリ:これらのライブラリは、この単純なサンプル コードを実行するのに十分です:

#include <gtk/gtk.h>

static void activate (GtkApplication* app, gpointer user_data)
{
    GtkWidget *window;

    window = gtk_application_window_new(app);
    gtk_window_set_title(GTK_WINDOW (window), "Window");
    gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);
    gtk_widget_show_all(window);
}

int main (int argc, char *argv[])
{
    GtkApplication *app;
    int status;

    app     = gtk_application_new("org.gtk.example", G_APPLICATION_FLAGS_NONE);
    g_signal_connect(app, "activate", G_CALLBACK (activate), NULL);
    status  = g_application_run(G_APPLICATION (app), argc, argv);
    g_object_unref(app);

    return status;
}

次のような結果が得られます。