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 回答