4

我像往常一样安装了最新的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.

我用谷歌搜索的任何东西都可以通过xml2-config --cflags --libs标志或升级到最新版本的 libxml2 或其他方式来解决。不幸的是,两者都不适合我。

识别问题的步骤是什么?

使用 Ubuntu 12.04 64 位。

4

1 回答 1

11

仅应在源文件之后指定库,以便链接器可以解析源文件中未定义的引用。尝试用这个编译示例

gcc -I/usr/local/include/libxml2 -L/usr/local/lib xmltest.c -lxml2 -lm
于 2012-06-23T03:10:59.403 回答