在Ubuntu 10.04上使用kdevelop 3.5构建应用程序时,出现以下错误:

libtool: Version mismatch error. This is libtool 2.2.6 Debian-2.2.6a-4, but the
libtool: definition of this LT_INIT comes from libtool 2.2.6b.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6 Debian-2.2.6a-4
libtool: and run autoconf again.
make[2]: *** [wktools4] Error 63
make[2]: Target `all' not remade because of errors.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
*** Exited with status: 2 ***

在哪里可以获得所需的libtool版本,或者如何重新创建aclocal.m4?

最佳答案

尝试跑步

autoreconf --force --install
./configure
make

在项目的根目录中。

如果这不起作用,请尝试首先运行make maintainer-clean,然后转到步骤1。

如果仍然不起作用,请运行make maintainer-clean,然后删除项目根目录中的每个生成文件;包括aclocal.m4,任何m4目录,任何autom4te.cache目录,configureMakefile.inconfig.hconfig.h.inconfig.statuslibtoolltmain.sh等。然后转到步骤1。

为何起作用: libtoolaclocal.m4都是由构建系统生成的文件。如果它们不同步(由生成工具的不同版本生成),则会出现此错误。通常不应该发生这种情况,但是当您将生成的文件检入到源代码管理中时,可能导致这种情况的一个例子。

该解决方案的作用是删除并重新生成所有自动生成的文件。一旦删除并重新生成它们,它们将不再不同步。

关于autotools - libtool版本不匹配错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3096989/

10-11 20:32