我像往常一样安装了最新的libxml2-2.8.0:$ ./configure
,$ make
,$ make install
。
$ xml2-config --cflags --libs
给出了这个输出:
-I/usr/local/include/libxml2
-L/usr/local/lib -lxml2 -lm
但是试图编译任何一个例子......
$ gcc `xml2-config --cflags --libs` xmltest.c
链接器说:
/tmp/cc8ezrPl.o: In function `processNode':
xmltest.c:(.text+0x19): undefined reference to `xmlTextReaderConstName'
xmltest.c:(.text+0x38): undefined reference to `xmlTextReaderConstValue'
...etc.
我用google搜索的任何东西都可以通过xml2-config --cflags --libs
标志解决,或者升级到最新版本的libxml2,或其他东西。不幸的是,这对我都不起作用。
识别问题的步骤是什么?
使用64位的Ubuntu 12.04。
答案 0 :(得分:11)
应仅在源文件之后指定库,以便链接器可以解析源文件中的未定义引用。尝试使用此
编译示例gcc -I/usr/local/include/libxml2 -L/usr/local/lib xmltest.c -lxml2 -lm