【发布时间】:2011-04-04 20:39:54
【问题描述】:
我有一个可以通过终端运行的源文件
gcc source.c -I/usr/include/libxml2 -lxml2 -o output
但是当我 #include 包含 libxml 源文件的源文件时,编译器抱怨找不到 libxml/xmlmemory.h:、libxml/parser.h:、libxml/xpath.h:没有这样的文件或目录。
【问题讨论】:
我有一个可以通过终端运行的源文件
gcc source.c -I/usr/include/libxml2 -lxml2 -o output
但是当我 #include 包含 libxml 源文件的源文件时,编译器抱怨找不到 libxml/xmlmemory.h:、libxml/parser.h:、libxml/xpath.h:没有这样的文件或目录。
【问题讨论】:
您需要始终在 gcc 语句中保留 -I/usr/include/libxml2,以便它可以找到头文件。
【讨论】:
您还可以使用xml2-config --cflags --libs 检索要添加的编译标志。
kjp@vbox:~/Dev/ScratchDir$ xml2-config --cflags --libs
-I/usr/include/libxml2
-lxml2
kjp@vbox:~/Dev/ScratchDir$
【讨论】:
似乎源引用的是 libxml,而不是 libxml2
你能验证一下吗
/usr/include/libxml2/libxml/xmlmemory.h
实际上是可访问的吗? (尝试查看)
您无需编译标头,标头只需作为库实现内容的“描述”即可访问
【讨论】: