我成功编译了以下程序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。
答案 0 :(得分:12)
我遇到的问题与刚刚开始使用同一个教程的问题相同。 替换:
Gtk::ApplicationWindow window;
与
GTK::Window window;
如果你阅读了教程中代码的描述,后者实际上是讨论的代码。进行此更改使该程序适合我。
答案 1 :(得分:0)
尝试将窗口连接到应用程序实例。像这样创建它:
Gtk::ApplicationWindow window(app);