1

GTK+ 3 を C++ で動作させる試みを始めたばかりで、最も単純な GTKmm Hello-World の例をコンパイルしようとしました。

#include <gtkmm.h>

int main(int argc, char *argv[])
{
  Glib::RefPtr<Gtk::Application> app =
    Gtk::Application::create(argc, argv,
      "org.gtkmm.examples.base");

  Gtk::Window window;
  window.set_default_size(200, 200);

  return app->run(window);
}

コンパイル後:

g++ simple.cc -o simple `pkg-config gtkmm-3.0 --cflags --libs`

エラーはありませんが、新しくコンパイルされたアプリケーションを次のように実行すると:

./simple

次のエラーが表示されます。

GLib-GIO-CRITICAL **: g_application_list_actions: assertion `application->priv->is_registered' failed
Segmentation fault (core dumped)

コードはhttps://developer.gnome.org/gtkmm-tutorial/stable/sec-basics-simple-example.html.enから変更されずにコピーされているため、おそらく構成の問題である可能性がありますが、私は頻繁にこのマシンを PyGtk および CommandLine C++ に問題なく使用しました。

どんな助けでも大歓迎です。

4

1 に答える 1

1

これは、gtkmm で修正された gtkmm のバグ (おそらく GTK+ の変更によって引き起こされた) でした: https://git.gnome.org/browse/gtkmm/commit/?id=506cba376c0a0e09217ad7f5d597b6723d7f91a6

gtkmm のバージョンを更新できるかもしれません。

于 2013-10-02T09:25:10.077 に答える