Я только начал пытаться заставить 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 ++ без каких-либо проблем.
Любая помощь будет принята с благодарностью.
Это была ошибка в gtkmm (вероятно, вызванная изменением GTK +), которая была исправлена в gtkmm:
https://git.gnome.org/browse/gtkmm/commit/?id=506cba376c0a0e09217ad7f5d597b6723d7f91a6
Может быть, вы можете обновить свою версию GTKMM.
Других решений пока нет …