即使我已经在我的ubuntu 12.04版本中再次安装了libxml ++ 2.6-2 libxml ++ 2.6-doc等,我收到以下错误 致命错误:libxml / parser.h:没有这样的文件或目录 我正在使用make来构建项目
Kindly suggest any other libxml libraries which I need to install
答案 0 :(得分:2)
libxml/parser.h
是libxml
库的一部分,而不是libxml++
对于任何给定的库,您需要开发包(名称以-dev
结尾的开发包)才能使用该库构建应用程序。
您需要将额外的标志传递给编译器:xml2-config --cflags
和链接器xml2-config --libs
。
答案 1 :(得分: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.
答案 2 :(得分:0)
我现在无法访问Ubuntu系统,但是:您可能需要安装libxml开发包吗?也许你只有图书馆而不是包含文件?
在/usr/include
,/usr/local/include
,...中查看目录libxml
和文件parser.h
。
如果找到该文件,则可能需要调整makefile以使父目录位于包含路径列表中,例如:
INC = -I/usr/local/include
g++ $(INC) ...
如果找不到该文件:检查开发人员包的可用libxml包并安装它。
答案 3 :(得分:0)
请在阅读本文之前阅读@ el.pescado答案。我想对这个答案发表评论,但觉得有必要更好地格式化我的代码。
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 <libxml/parser.h>
,libxml2
共享库的标准位置,即/usr/lib64/libxml2
,上面的代码会像这样评估:
gcc -c xmltest.c -I/usr/include/libxml2 -o xmltest.o
gcc xmltest.o -L/usr/lib64/libxml2 -lxml2 -lz -lm -o xmltest
更好的想法是将Makefile
放在一起自动执行此操作。