找不到glib2-0库的实现(须藤apt-get install libglib2.0-dev)

时间:2020-05-13 15:51:30

标签: c eclipse include glib

我正在Eclipse中开发一个C项目,该项目需要 glib 库函数。我运行sudo apt-get install libglib2.0-dev,实际上,在路径 / usr / include 中,出现 glib-2.0 。关键是这些文件夹中只有头文件,没有实现(换句话说,没有扩展名为 .c 的文件)。实际上,编译器没有给出任何错误,但是链接器对 glib 文件夹中定义的任何函数/类型都抛出了许多undefined reference。如何正确安装此库?

1 个答案:

答案 0 :(得分:0)

关键是这些文件夹中只有头文件,没有实现(换句话说,没有.c扩展名文件)

开发包不包括整个源代码树,仅包括开发您自己的项目所需的文件;即:头文件,pkg-config描述文件(用于确定编译器和链接器标志);和仅在开发时需要的辅助工具。

事实上,编译器没有给出错误,但是链接器对glib文件夹中定义的任何函数/类型都抛出了许多未定义的引用。

为了构建依赖于GLib的代码,您需要使用pkg-config; pkg-config提供了必要的编译器和链接器标志的列表。例如,如果您要构建基于GLib的项目,则需要:

  • 调用pkg-config --cflags glib-2.0以获得编译器标志列表
  • 调用pkg-config --libs glib-2.0以获得链接器标志列表

您将需要在编译器标志的设置中添加这两个命令的输出。

Eclipse插件市场中还有一个pkg-config plugin,可能对您有帮助。