当前位置: 技术问答>linux和unix
libxml2使用的问题
来源: 互联网 发布时间:2016-10-10
本文导语: 我看libxml2的例程中头文件的使用都是带“libxml/”的比如include ,可是我在/usr/include/libxml2/libxml下看到的头文件名称都是不带“libxml”的,比如parse.h。然后我在编译的时候使用parse.h作为头文件的名称,设置路径/usr/inc...
我看libxml2的例程中头文件的使用都是带“libxml/”的比如include ,可是我在/usr/include/libxml2/libxml下看到的头文件名称都是不带“libxml”的,比如parse.h。然后我在编译的时候使用parse.h作为头文件的名称,设置路径/usr/include/libxml2/libxml,会报错:“libxml/tree.h 没有那个文件或目录”
类似的还有好多,不知道这个是为什么,难道把所有的头文件名都改了,求解答。
类似的还有好多,不知道这个是为什么,难道把所有的头文件名都改了,求解答。
|
我看libxml2的例程中头文件的使用都是带“libxml/”的比如include ,可是我在/usr/include/libxml2/libxml下看到的头文件名称都是不带“libxml”的
------------
这里的/代表的是路径 而不是说头文件的名字是libxml/parser.h 而是libxml目录下的parser.h文件。
------------
这里的/代表的是路径 而不是说头文件的名字是libxml/parser.h 而是libxml目录下的parser.h文件。
|
如果你的这些头文件在/usr/include/libxml2/libxml下 试试
#include
#include
|
gcc 在编译时如何去寻找所需要的头文件 :
※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH
※再找内定目录
/usr/include
/usr/local/include
/usr/lib/gcc-lib/i386-linux/2.95.2/include
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g -3
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include
这里就是指定在某个上边的目录下的libxml目录下的头文件。不是头文件的名字是这个。
※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH
※再找内定目录
/usr/include
/usr/local/include
/usr/lib/gcc-lib/i386-linux/2.95.2/include
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g -3
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include
这里就是指定在某个上边的目录下的libxml目录下的头文件。不是头文件的名字是这个。
|
有例程为何不按例程的方法呢?
正确的方法是设置路径为/usr/include/libxml2,然后
#include
更常用的方法是用xml2-config --cflags获得头文件目录,xml2-config --libs获得需要的库文件
正确的方法是设置路径为/usr/include/libxml2,然后
#include
更常用的方法是用xml2-config --cflags获得头文件目录,xml2-config --libs获得需要的库文件