编译器找不到libxml/parser.h

2024-06-01 06:06:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Debian 8(杰西),64位。我安装了libxml2-dev,它现在位于/usr/include/libxml2/libxml

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

#include <libxml/parser.h>

我只在编译时获得(使用gcc

fatal error: libxml/parser.h: no such file or directory

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

我还需要做其他事情来使libxml2-dev可见吗?


Tags: nodevparserincludeusr计算机errordebian
3条回答

您应该使用pkg-config将参数传递给编译器。像这样

g++ `pkg-config --cflags libxml-2.0` example.c -o example.o

以及链接器:

g++ `pkg-config --libs libxml-2.0` example.o -o example

尝试使用explicite inclusion编译parser.h文件所在的位置,即如下所示的smth

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


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

CPATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH

查找更多信息here

如果您安装了它:sudo apt-get install libxml2-dev libxml2-doc请进入/usr/include/libxml2并将该文件夹中的所有内容复制或移动到下面的级别:cp -R libxml/ ../在这之后,它对我起作用。

相关问题 更多 >