我使用的是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相比没有设置其他环境变量,它工作得非常好。使用完全相同的makefile从一台计算机迁移到另一台计算机时出现问题。所有我需要的其他-dev
库刚刚工作(带有其文档#include <path>
)迁移后(它们都是与apt-get
一起安装的),编译时仅找不到libxml2-dev
。
我还需要做什么才能使libxml2-dev
可见吗?
5条答案
按热度按时间to94eoyn1#
如果已安装:
sudo apt-get install libxml2-dev libxml2-doc
进入/usr/include/libxml2
并复制或移动该文件夹中以下级别所有内容:cp -R libxml/ ../
在这之后,对我来说它起作用了。kd3sttzy2#
尝试在
parser.h
文件所在的位置使用显式包含进行编译,例如smth,如下所示g++ -I/usr/include/libxml2/
以下环境变量也可用于查找头文件
在此查找更多信息
nmpmafwu3#
我在Centos系统上遇到了同样的问题,我通过以下操作解决了它:
就是这样,环境变量和编译器开关都没有改变。
mspsb9vt4#
应该使用
pkg-config
向编译器传递参数。和连接物:
uemypmqf5#
我在Ubuntu 20.04中遇到了同样的问题,将**/usr/include/libxml 2重命名为/usr/include/libxml2_bak**对我很有效。