问题描述
我想在具有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无法找到所需的标头。