c – gtkmm glib gio critical
发布时间:2020-12-16 10:33:40 所属栏目:百科 来源:网络整理
导读:在运行gtkmm的以下simple.cc示例时 #include gtkmm.hint main(int argc,char * argv[]){ Glib::RefPtrGtk::Application app = Gtk::Application::create(argc,argv,"org.gtkmm..examples.base"); Gtk::Window window; //Gtk::ApplicationWindow window(app);
在运行gtkmm的以下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::Window window; //Gtk::ApplicationWindow window(app); return app->run(window); } 我面对以下消息: (process:9428): GLib-GIO-CRITICAL **: g_application_set_application_id: assertion `application_id == NULL || g_application_id_is_valid (application_id)' failed 但是,应用程序不会中断,窗口生成并且直到I ctr C程序才会退出. 这个GLib-GIO-Critical消息的含义是什么?我怎么做才能压制消息? 解决方法
如果提供的application-id无效,则不会设置.我不熟悉glibmm位,但如果你没有为
g_application_new提供ID,那么根据文档,“…… GApplication的一些功能(最显着的应用程序唯一性)将被禁用.”
“抑制”很容易 – 只需修复它.提供有效的应用程序ID或根本不提供应用程序ID(传递NULL而不是字符串).在你的例子中,摆脱额外的点(“org.gtkmm.examples.base”而不是“org.gtkmm..examples.base”)应该可以解决问题. g_application_id_is_valid文档解释了什么构成有效ID,包括“应用程序标识符不能包含连续’.” (期间)人物.“ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |