vtd-xml 2.11 c版下编译报错ubuntu

vtd-xml 2.11 c version compilation error under ubuntu

ximpleware_2.11_c在centos 6.5 64位下编译正常,但在ubuntu14.04 64位下有错误。

海湾合作委员会说:

vtdNav.o:In function ‘parseDouble’: Undefined reference to 'pow'

... Undefined reference to 'fmod'

... Undefined reference to 'floor'

... Undefined reference to 'ceil'

我检查了 makefile,找到了“-lm”。

我的vtd-xml下载链接:http://sourceforge.net/projects/vtd-xml/files/vtd-xml/ximpleware_2.11/

如何在 ubuntu 14.04 下构建它?感谢您的回复。

对于特定版本,您稍微修改了 makefile。您需要将“-lm”附加到每个 link 依赖项语句。下面显示了更改前后的情况。请注意,您需要滚动到语句的末尾。 之前

 benchmark_vtdxml: benchmark_vtdxml.o arrayList.o fastIntBuffer.o fastLongBuffer.o contextBuffer.o vtdNav.o vtdGen.o autoPilot.o XMLChar.o helper.o lex.yy.o l8.tab.o literalExpr.o numberExpr.o pathExpr.o filterExpr.o binaryExpr.o unaryExpr.o funcExpr.o locationPathExpr.o intHash.o unionExpr.o decoder.o XMLModifier.o nodeRecorder.o indexHandler.o bookMark.o elementFragmentNs.o transcoder.o textIter.o variableExpr.o cachedExpr.o

之后

benchmark_vtdxml: benchmark_vtdxml.o arrayList.o fastIntBuffer.o fastLongBuffer.o contextBuffer.o vtdNav.o vtdGen.o autoPilot.o XMLChar.o helper.o lex.yy.o l8.tab.o literalExpr.o numberExpr.o pathExpr.o filterExpr.o binaryExpr.o unaryExpr.o funcExpr.o locationPathExpr.o intHash.o unionExpr.o decoder.o XMLModifier.o nodeRecorder.o indexHandler.o bookMark.o elementFragmentNs.o transcoder.o textIter.o variableExpr.o cachedExpr.o -lm