我用的是最新的GTK +與MSYS2安裝,每當我試圖使用的呼叫斷言 g_application_send_notification()
它總是導致以下 斷言:g_object_new:從g_application_send_notification()
(Notification Project.exe:27780): GLib-GObject-CRITICAL **: g_object_new:
assertion 'G_TYPE_IS_OBJECT (object_type)' failed
爲什麼我認爲這是一個錯誤 - 因爲我試過很多代碼樣本礦山 旁邊(他們都是很喜歡來到礦裏),人誰得到它的工作 (包括notifaction拉爾斯Uebernickel),而這一切都作出了同樣的感嘆 。 斷言,然後崩潰。現在我真的不知道這意味着什麼,因爲它 可能是GTK內部之內,但我真的希望你們中的一些可能有 線索或經驗與此有關。
- 安裝(GNU的coreutils)8.25
- GIO版本2.52.3
- 的mingw32 /的mingw-W64-i686的-GTK的發動機UNICO 1.0.2-2 [安裝]
- 的mingw32/mingw的-w64-i686的-gtk3 3.22.16-1 [安裝]
- 的mingw32 /的mingw-W64-i686的-gtkmm3 3.22.0-1 [安裝]
- 的mingw32 /的mingw-W64-i686的-香料GTK 0.33- 1安裝]
- 的mingw32 /的mingw-W64-i686的-webkitgtk3 2.4.11-4 [研究所alled]
- mingw64 /的mingw-W64-x86_64的-GTK的發動機UNICO 1.0.2-2 [安裝]
- mingw64 /的mingw-W64-x86_64的-gtk3 3.22.16-1 [安裝]
- mingw64/mingw的-W64-x86_64的-gtkmm3 3.22.0-1 [安裝]
- mingw64 /的mingw-W64-x86_64的-香料-GTK 0.33-1 [安裝]
- mingw64 /的mingw-W64-x86_64的-webkitgtk3 2.4。 11-4 [安裝]
該GENER的代碼的示例阿泰此斷言:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <gtk/gtk.h>
#define ICON_PATH "/path/trash_16x16.gif"
int main (int argc, char *argv[])
{
GApplication *app;
app = g_application_new ("org.one", G_APPLICATION_FLAGS_NONE);
if(!app)
{
g_print ("Error app\n");
}
else
{
if(g_application_register (app, NULL, NULL))
{
GNotification *notification;
GFile *file;
GIcon *icon;
notification = g_notification_new ("one");
g_notification_set_body (notification, "Hello world");
file = g_file_new_for_path (ICON_PATH);
icon = g_file_icon_new (file);
g_notification_set_icon (notification, G_ICON (icon));
g_application_send_notification (app, NULL, notification);
g_object_unref (icon);
g_object_unref (file);
g_object_unref (notification);
g_object_unref (app);
g_print ("yes\n");
}
else
{
g_print ("no\n");
}
}
return 0;
}
那是我能做些什麼來繞過這個問題,甚至可能是解決這個問題?
首先,SO不是GTK錯誤跟蹤器,爲什麼要在這裏發佈?如果你希望我們向你保證,你應該發佈一個MCVE。 –
@EugeneSh對不起,如果我誤解了,但什麼是MCVE? 也不是它與編程有關的問題。這是與編程有關的問題。 – Malina
您對問題中包含的g_application_send_notification調用會更好。但是我認爲這很可能並不重要,所以:我並不低調 –