我有一个创建的基于C的项目,其中包含来自pidgin源代码的CDT。一切都运行正常,但它跟{2}说unresolved inclusion
:
#include <libxml/parser.h>
#include <glib.h>
我该如何解决这个问题? 我不能使用CDT悬停,打开声明等功能与此库的功能,并必须手动浏览目录。我试过在项目属性中添加lib目录 - &gt;路径和符号。
答案 0 :(得分:6)
您应该确保安装了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
如果仍然未解决,则应尝试在CDT中清理项目。
大概BTW:不应该在C / C ++中配置包含目录和库 - &gt;路径和符号(虽然这应该也可以)但我总是在C / C ++ Build-&gt; Settings
答案 1 :(得分:0)
对我而言,它通过项目属性 - > C / C ++一般 - &gt;路径和符号 - &gt; Tab&#34;包括&#34;并在&#34; GNU C&#34;下添加一个条目。与图书馆的路径/usr/include/glib-2.0
Ubuntu 18.04 LTS上的Eclipse Oxygen CDT