GTKmm3(GTK+3 C++)编译,但运行时抛出GLib GIO CRITICAL错误
GTKmm3 (GTK+ 3 C++) compiles but throws GLib-GIO-CRITICAL error when run
我刚刚开始尝试让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版本。
相关文章:
- 为什么 Glib::VariantBase::store 方法破坏了给定缓冲区的开始
- GLib-ERROR:为GWakeup创建管道:打开的文件太多
- 具有非 POD 对象的 GLib 异步队列
- 使用 C++14 和 GLib (GDBus) 的线程通信
- 如何链接 glib-2.0 库进行 c/c++ 程序编译
- glib:在另一个线程上处理自定义 GMainContext* 循环,不引发信号处理程序
- CMake 链接静态库和 glib 错误
- gtkmm: what is Glib::RefPtr usecases?
- C++ STL 包含器到 Glib 转换
- GLib-GObject-CRITICAL ...断言"夸克> 0"失败
- 为什么我会收到错误"configure: error: Cannot find glib: Is glib-config in path?"?
- 将 Glib::RefPtr<T> 转换为 Gtk::Widget 和需要
- 在C++glib应用程序中连接到dbus信号的最简单方法
- Glib::Regex picking up TextTag-s
- glib,如何处理GError的东西
- 在 FreeBSD 上构建 lixml++ 示例时对 glib 的未定义引用
- 是否有一些用于模拟Glib::D ispatcher的Boost功能
- 如何在 json-Glib 中打印 Jsonarray
- 被所有关于向ec2linux添加新glib版本的帖子弄糊涂了
- GTKmm3(GTK+3 C++)编译,但运行时抛出GLib GIO CRITICAL错误