Adi*_*hag 3 c++ gtk glib gtkmm
在运行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);
}
Run Code Online (Sandbox Code Playgroud)
我面对以下消息:
(process:9428): GLib-GIO-CRITICAL **: g_application_set_application_id: assertion `application_id == NULL || g_application_id_is_valid (application_id)' failed
Run Code Online (Sandbox Code Playgroud)
但是,应用程序不会中断,窗口生成并且直到我ctr + C程序才会退出.
这个GLib-GIO-Critical消息的含义是什么?我怎么做才能压制消息?
nem*_*equ 13
如果提供的application-id无效,则不会设置.我不熟悉glibmm位,但如果你没有为g_application_new提供ID,那么根据文档,"...... GApplication的一些功能(最显着的应用程序唯一性)将被禁用."
"抑制"很容易 - 只需修复它.提供有效的应用程序ID或根本不提供应用程序ID(传递NULL而不是字符串).在你的例子中,摆脱额外的点("org.gtkmm.examples.base"而不是"org.gtkmm..examples.base")应该可以解决问题.该g_application_id_is_valid文档解释了什么是有效证件,包括"应用标识符不能包含连续的'’ (期间)人物."
| 归档时间: |
|
| 查看次数: |
2969 次 |
| 最近记录: |