0
我有一个包含文件blah.c:麻烦链接到的GObject内省库
#include <gobject-introspection-1.0/girepository.h>
int main(int argc,char **argv) {
GIRepository *gir = g_irepository_get_default();
return 0;
}
这,当然是比我要编译的文件比较简单,但有同样的问题。我编译
gcc `pkg-config --cflags --libs gobject-introspection-1.0` blah.c
,并得到链接错误:
/tmp/cck88oj4.o: In function `main':
blah.c:(.text+0x10): undefined reference to `g_irepository_get_default'
collect2: ld returned 1 exit status
的pkg-config
命令返回
-pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gobject-introspection-1.0 -Wl,--export-dynamic -pthread -lgirepository-1.0 -lgobject-2.0 -lgmodule-2.0 -lffi -lgthread-2.0 -lrt -lglib-2.0
和文件libgirepository-1.0.a和libgirepository-1.0.so都存在于/ usr/lib中。
是什么导致这种链接错误?
这完美的作品!谢谢!我没有必要的声望来提高你的答案,但如果可以的话,我会。 – 2012-02-21 03:53:49
@MichaelSiler:很高兴帮助!这个问题已经有好几次了。那么你已经接受了答案我想这已经足够了,更重要的是它解决了你的问题:) – 2012-02-21 04:02:06