ubuntu中C程序的libxml

问题描述

我想在具有ubuntu的系统上使用libxml2作为c程序的解析器。我使用以下命令来安装libxml2:

sudo apt-get install -y libxml2-dev

我尝试编译以下文件http://xmlsoft.org/examples/reader1.c 我的makefile看起来像这样:

xml_reader: xml_reader.o
    gcc -o xml_reader xml_reader.o -lxml2 -lm
    
xml_reader.c: xml_reader.c
    gcc -c xml_reader.c -I/usr/include/libxml2
    

可惜我得到以下答复:

Fatal error: libxml/xmlreader.h: No such file or directory

我错过了编译之前必须做的事情吗?还是什至使用了正确的-l参数?

解决方法

第二个Makefile规则的目标应该是xml_reader.o,而不是xml_reader.c。现在,make使用的是默认规则,而不使用-I/usr/include/libxml2,因此gcc无法找到所需的标头。