编译器找不到libxml/parser.h

Foo*_*Bar 11 linux debian suse include libxml2

我在Debian 8(Jessie),64位.我安装了libxml2-dev,现在坐在/usr/include/libxml2/libxml.

但是当我这样做时(就像libxml医生说的那样)

#include <libxml/parser.h>
Run Code Online (Sandbox Code Playgroud)

我只在编译时得到(有gcc)

fatal error: libxml/parser.h: no such file or directory
Run Code Online (Sandbox Code Playgroud)

注意:在另一台机器上,使用旧的64位Suse,它libxml2-dev位于完全相同的路径中,与新的Debian相比没有设置其他环境变量,它的工作原理非常好.使用完全相同的makefile从一台计算机迁移到另一台计算机时出现问题.我需要的所有其他-dev#include <path>在迁移之后(带有文档)在迁移之后(它们都已安装apt-get),只libxml2-dev在编译时找不到.

我需要做任何其他事情才能libxml2-dev看得见吗?

dei*_*mus 7

尝试使用explicite include来编译parser.h文件所在的位置,即像这样的smth

g++ -I/usr/include/libxml2/


以下环境变量也可用于查找头文件

CPATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH
Run Code Online (Sandbox Code Playgroud)

在此处查找更多信息


Vla*_*lad 7

如果你安装它:sudo apt-get install libxml2-dev libxml2-doc进入/usr/include/libxml2并复制或移动该文件夹中的所有内容在以下级别:cp -R libxml/ ../在此之后,它可以工作.


小智 6

我在 Centos 系统上遇到了同样的问题。我通过执行以下操作解决了该问题:

yum install libxml2-devel
cd /usr/include
ln -s libxml2/libxml .
Run Code Online (Sandbox Code Playgroud)

就是这样。没有更改环境变量或编译器开关。