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の最新バージョンにアップグレードしたりすることで解決できます。残念ながら、どちらも私にはうまくいきません。

問題を特定するための手順は何ですか?

Ubuntu12.0464ビットを使用します。

4

1 に答える 1

11

リンカがソースファイル内の未定義の参照を解決できるように、ライブラリはソースファイルの後にのみ指定する必要があります。これで例をコンパイルしてみてください

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