c - eclipse CDT glib 库包含错误

标签 c eclipse include eclipse-cdt

我从 pidgin 源代码创建了一个带有 CDT 的基于 C 的项目。一切正常,但它为以下两个库显示 unresolved inclusion:

#include <libxml/parser.h>
#include <glib.h>

我该如何解决这个问题?
我无法将 CDT 悬停、打开声明等功能与该库的功能一起使用,必须手动浏览目录。我尝试在项目属性 -> 路径和符号中添加 lib 目录。

最佳答案

首先,您应该确保安装了 glib 和 libxml 的开发包。在 ubuntu 上你可以输入:

apt-get install libxml2-dev libglib2.0-dev

然后你用 pkg-config 观察应该包含哪些目录

~> pkg-config --cflags libxml-2.0
-I/usr/include/libxml2
~> pkg-config --cflags glib-2.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include

以上是要在编译器设置中配置的头文件(在 CDT 中你应该去掉 '-I')。下面是链接器需要的库,因此在 CDT 的链接器设置中配置它们并去掉“-l”

 ~>pkg-config --libs libxml-2.0
 -lxml2
 ~>pkg-config --libs glib-2.0
 -lglib-2.0

如果您仍然遇到 Unresolved inclusion 问题,您应该尝试在 CDT 中清理项目。

顺便说一句:include 目录和库不应在 C/C++-> 路径和符号中配置(尽管这也应该有效)但我总是在 C/C++ 构建-> 设置中配置它们

关于c - eclipse CDT glib 库包含错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4473129/

相关文章:

C - 带有函数指针的结构体,如何修复 "variable number of arguments"警告?

c - 使用C标准数学库精确计算标准正态分布的PDF

Android SDK 管理器获取失败

c - 如何找到文件的完全限定路径名?

c++ - 如何从 void 函数中获取值?

c++ - Eclipse CDT 构建始终重建所有文件

java - 如何在 Eclipse 中获取工作区路径?

php - 如何使用包含的 php 文件中的 php 变量

用多个包含路径编译c语言

include - Jade - 使用 --watch 不会触发包含的刷新