libxml / parser.h:在c ++ ubuntu中


libxml/parser.h: in c++ ubuntu

即使我在ubuntu 12.04版本中再次安装了libxml ++ 2.6-2 libxml ++ 2.6-doc等,我仍收到以下错误
致命错误:libxml / parser.h:没有这样的文件或目录
我正在使用make来构建项目

1
     Kindly suggest any other libxml libraries which I need to install

  • libxml/parser.hlibxml库的一部分,而不是libxml++

  • 对于任何给定的库,您都需要开发包(名称以-dev结尾的包)才能使用该库构建应用程序。

  • 您需要将其他标志传递给编译器:xml2-config --cflags和链接器xml2-config --libs


  • 在阅读本文之前,请先阅读@ el.pescado答案。我想对这个答案发表评论,但感到有必要更好地格式化我的代码。

    1
    2
    gcc -c <files to compile> `xml2-config --cflags` -o <object files>
    gcc <object files> -L<libxml2 lib location> `xml2-config --libs` -o <binary file>

    假设我们有一个文件名xmltest.c,其中的代码包含libxml2标头(如#include ),libxml2共享库的标准位置(即/usr/lib64/libxml2),则上面的代码将按以下方式计算:

    1
    2
    gcc -c xmltest.c -I/usr/include/libxml2 -o xmltest.o
    gcc xmltest.o -L/usr/lib64/libxml2 -lxml2 -lz -lm -o xmltest

    一个更好的主意是将一个自动执行此操作的Makefile放在一起。


    在将答案发布给已回答的人之前,谢谢,但这些答案对我没有用

    1
    I have just copied libxml folder from the directory usr/lib/libxml2 and pasted in usr/lib directory and compiled my code it is not giving any error. It is working fine now.


    我现在无法访问Ubuntu系统,但是:也许您需要安装libxml开发人员软件包?也许您只有库但没有包含文件?

    检入/usr/include/usr/local/include,...中的目录libxml和文件parser.h

    如果找到该文件,则可能需要调整makefile,以使父目录位于包含路径的列表中,例如:
    INC = -I/usr/local/include
    g++ $(INC) ...

    如果找不到该文件:检查可用的libxml软件包中的开发人员软件包并进行安装。