gpt4 book ai didi

c++ - gtkmm glib gio 关键

转载 作者:太空狗 更新时间:2023-10-29 19:44:00 27 4
gpt4 key购买 nike

关于为 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

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

此 GLib-GIO-Critical 消息的含义是什么?我该怎么做才能抑制消息?

最佳答案

如果提供的应用程序 ID 无效,则不会设置它。我不熟悉 glibmm 位,但如果您不提供 ID g_application_new然后,根据文档,“...GApplication 的某些功能(最显着的应用程序唯一性)将被禁用。”

“抑制”它很容易——修复它即可。提供有效的应用程序 ID 或根本不提供(传递 NULL 而不是字符串)。在您的示例中,去掉多余的点(“org.gtkmm.examples.base”而不是“org.gtkmm..examples.base”)应该可以解决问题。 g_application_id_is_valid文档解释了有效 ID 的构成,包括“应用程序标识符不得包含连续的‘.’” (句点)字符。”

关于c++ - gtkmm glib gio 关键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16890169/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com