我试图编译这个lib:
https://github.com/BelledonneCommunications/linphone-iphone
在生成期间我得到了这个:
/linphone-iphone/submodules/build/..//externals/speex/libspeex/cb_search.c
libtool: Version mismatch error. This is libtool 2.4.6, but the
libtool: definition of this LT_INIT comes from libtool 2.4.2.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6
libtool: and run autoconf again.
make[4]: *** [cb_search.lo] Error 63
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [build-speex] Error 2
make: *** [broadcast_all] Error 2
好的,然后,(如陈述here):
cd ../externals/speex/
autoreconf --force --install
cd cd ../../build && make all
而且......它再次发生! 用 libtool 搞砸了什么?
答案 0 :(得分:2)
运行autoreconf
后,必须执行相应的configure
脚本。在那之前,autoreconf
所做的工作无效。
有时make
会认识到这一点,但在这里可能并非如此。
因此,我建议您运行顶级configure
脚本(我假设这是您在开始时运行的脚本),然后使用make all
恢复构建。
您可能遇到过软件如何分发的错误。如果经销商认为他们必须将依赖关系作为软件的子项目进行分发,那么他们应该注意所使用的libtool
版本之间没有差异。