#include <libnotify/notify.h>
#include <glib.h>
#include <unistd.h>
int main(int argc, char** argv)
{
if(argc == 3)
{
NotifyNotification *n;
notify_init("Test");
n = notify_notification_new (argv[1],argv[2], NULL, NULL);
notify_notification_set_timeout (n, 3000); //3 seconds
if (!notify_notification_show (n, NULL)) {
g_error("Failed to send notification.\n");
return 1;
}
g_object_unref(G_OBJECT(n));
}else{
g_print("Too few arguments (%d), 2 needed.\n", argc-1);
}
return 0;
}
編譯代碼給我「未定義的引用」錯誤:錯誤編譯BASIC 「libnotify」 代碼
[email protected]:~/c$ gcc -Wall -o test libnotify.c `pkg-config --libs --cflags glib-2.0 gtk+-2.0`
/tmp/ccA2Q6xX.o: In function `main':
libnotify.c:(.text+0x20): undefined reference to `notify_init'
libnotify.c:(.text+0x4b): undefined reference to `notify_notification_new'
libnotify.c:(.text+0x60): undefined reference to `notify_notification_set_timeout'
libnotify.c:(.text+0x71): undefined reference to `notify_notification_show'
collect2: ld returned 1 exit status
[email protected]:~/c$
我把代碼從這個blog。
好的。 thanx..Perfect。但是,我怎麼知道我必須將「-lnotify」作爲參數傳遞給gcc?我的意思是確切的名字。 – 2010-02-24 22:15:04
如果一個庫帶有'.pc'文件,你可以查詢'pkg-config'來找出你需要傳遞什麼參數。 – 2010-02-24 22:25:27