我有一个gtk程序,其中我调用了一个gdk函数。我正在使用以下命令编译该程序:
gcc `pkg-config --cflags --libs gtk+-2.0 cairo glib-2.0` ...我已经包含了
#include <gdk/gdk.h>它会给我一个错误:
undefined reference to `gdk_device_ungrab'有人知道我做错了什么吗?
发布于 2012-07-13 18:31:29
您正在针对GTK2.x进行编译和链接,而gdk_device_ungrab只能从GTK3.0开始使用。
请参阅:http://developer.gnome.org/gdk3/3.4/GdkDevice.html#gdk-device-ungrab
发布于 2012-07-13 18:25:34
您必须将源文件或目标文件放在命令行中的库之前,即在pkg-config部分之前的开头。
链接器按照在命令行中指定的顺序添加对象和库;如果gdk库列在源文件之前,则链接器直到知道代码需要libray时才知道。
https://stackoverflow.com/questions/11468063
复制相似问题