首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gtkmm glib gio critical

gtkmm glib gio critical
EN

Stack Overflow用户
提问于 2013-06-03 12:51:03
回答 2查看 4K关注 0票数 3

为gtkmm运行以下simple.cc示例

代码语言:javascript
复制
#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);                                                  
}

我面对以下信息:

代码语言:javascript
复制
 (process:9428): GLib-GIO-CRITICAL **: g_application_set_application_id: assertion `application_id == NULL || g_application_id_is_valid (application_id)' failed

但是,应用程序不会中断,窗口会生成,直到我ctr+C程序时才会退出。

这条GLib-GIO关键消息的含义是什么?我该怎么做才能抑制这条消息?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-03 17:56:02

如果提供的application-id无效,则不会对其进行设置。我不熟悉glibmm位,但是如果您不向g_application_new提供ID,那么根据文档,“GApplication的...some特性(最明显的应用程序唯一性)将被禁用”。

“抑制”它很容易--只需修复它。提供一个有效的应用程序ID,或者根本不提供(传递NULL而不是字符串)。在您的示例中,去掉多余的点("org.gtkmm.examples.base“而不是"org.gtkmm..examples.base")应该可以做到这一点。g_application_id_is_valid文档解释了有效ID的构成,包括“应用程序标识符不能包含连续的'.‘(句点)字符”。

票数 13
EN

Stack Overflow用户

发布于 2018-03-29 10:54:14

我对解决方案中的解释很满意,但是..基于此,只需传递一个空字符串"“即可。然而,"org.gtkmm.example“应该起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16890169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档