我有一个源文件,我可以使用
通过终端运行gcc source.c -I/usr/include/libxml2 -lxml2 -o output
但是当我#include
包含libxml源文件的源文件时,编译器会抱怨找不到libxml/xmlmemory.h:
,libxml/parser.h:
,libxml/xpath.h
:没有这样的文件或目录。
答案 0 :(得分:5)
您需要始终将-I/usr/include/libxml2
保留在gcc语句中,以便它可以找到头文件。
答案 1 :(得分:3)
您还可以使用xml2-config --cflags --libs
检索要添加的编译标记。
kjp@vbox:~/Dev/ScratchDir$ xml2-config --cflags --libs
-I/usr/include/libxml2
-lxml2
kjp@vbox:~/Dev/ScratchDir$
答案 2 :(得分:0)
好像源是引用libxml而不是libxml2
你能验证一下吗
/usr/include/libxml2/libxml/xmlmemory.h
事实上是否可以访问? (尝试查看)
您不编译标题,标题只需作为库实现的“描述”来访问