5

次のプログラム simple.cc を正常にコンパイルしました。

#include <gtkmm.h>

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

  Gtk::ApplicationWindow window;

  return app->run(window);
}

次のコマンドを使用します。

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

これにより、実行可能ファイルはシンプルになりましたが、実行しようとすると、次のエラーが発生しました。

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

私が知る限り、私は最新かつ最高の GLib パッケージを持っています。Ubuntu 12.04 LTS を実行しています。

4

2 に答える 2

12

同じチュートリアルを始めたばかりと同じ問題がありました。交換:

    Gtk::ApplicationWindow window;

    GTK::Window window;

チュートリアルのコードの説明を読むと、後者は実際に議論されているコードです。この変更を行うと、プログラムが機能するようになりました。

于 2012-06-12T23:28:48.373 に答える
0

ウィンドウをアプリケーション インスタンスに接続してみてください。次のように作成します。

Gtk::ApplicationWindow window(app);
于 2012-05-25T17:45:35.120 に答える