我正在Eclipse中开发一个C项目,它需要glib库函数。我运行sudo apt-get install libglib2.0-dev,实际上,在路径/usr/上,出现了glib-2.0。关键是只有头文件在这些文件夹中,没有实现(换句话说,那里没有具有.c扩展名的文件)。实际上,编译器不会给出错误,但是链接器会将许多undefined reference抛出到glib文件夹中定义的任何函数/类型。如何正确安装这个库?
发布于 2020-05-14 14:26:19
关键是只有头文件在这些文件夹中,没有实现(换句话说,那里没有具有.c扩展名的文件)
开发包不包括整个源代码树,只包括开发您自己的项目所需的文件;即:头文件、pkg-config描述文件(用于确定编译器和链接器标志);以及开发过程中只需要的辅助工具。
实际上,编译器不会给出错误,但是链接器会抛出许多未定义的引用,这些引用都是在glib文件夹中定义的任何函数/类型。
为了构建依赖于GLib的代码,您需要使用pkg-config;pkg-config为您提供了必要的编译器和链接器标志列表。例如,如果您想构建一个基于GLib的项目,您需要:
pkg-config --cflags glib-2.0以获取编译器标志列表pkg-config --libs glib-2.0以获取链接器标志列表您需要在Compiler标志的设置中添加这两个命令的输出。
在Eclipse市场上也有一个pkg-config插件,可能对您有帮助。
https://stackoverflow.com/questions/61779115
复制相似问题