2012-07-13 69 views
2

我有一個gtk程序,我正在調用一個gdk函數。我編譯使用的程序:沒有找到GDK函數

gcc `pkg-config --cflags --libs gtk+-2.0 cairo glib-2.0` ... 

,我已經包括

#include <gdk/gdk.h> 

它給我的錯誤:

undefined reference to `gdk_device_ungrab' 

有誰知道我做錯了嗎?

+0

如果你有oportunitz使用'pkgconfig'我建議這樣做,因爲它resolvs很多庫和包括您的(具體問題的解決方案的獨立的)悲傷 – drahnr 2012-07-14 10:25:15

回答

-1

您必須在命令行中將源文件或目標文件放在之前,即在pkg-config部分之前的開始處。

鏈接器按照它們在命令行中指定的順序添加對象和庫;如果gdk庫在您的源文件之前列出,鏈接器不知道您的代碼需要libray,直到它爲時已晚。

+0

我不認爲這很重要,因爲它找到了glib和gtk函數。 – mihajlv 2012-07-13 10:27:58