GFile的问题

时间:2010-05-29 14:37:15

标签: glib gio

我有一个:

GFile* gf = g_file_new_for_path(file_path);

在我的代码中。但是当我尝试编译它时,我看到错误:

未定义的引用:'g_file_new_for_path'

在包含部分中,我有#include <gio/gio.h>

此代码有什么问题?

1 个答案:

答案 0 :(得分:0)

我重新标记了你的问题,这不是GTK +,它是gio。

正如您根据评论发现的那样,您的问题是由于没有链接到正确的库。这是因为在C中,仅包含头部不会告诉编译器在哪里找到实现该头部中声明的事物的代码。为此,您通常需要链接正确的库(或直接编译代码,就像在自己的项目中一样)。

顺便提一下,推荐的方法是引用库,使用pkg-config之类的工具。然后编译看起来像这样:

$ gcc -o mygiotest mygiotest.c $(pkg-config --cflags --libs glib-2.0 gobject-2.0 gio-2.0)

你需要仔细检查上面的内容,我不是在Linux中,因为我输入了这个,所以我无法验证确切的包名。