2012-07-13 70 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