我已经使用mingw-get-setup.exe安装了mingw和msys。我还已经将Autotools(autoconf,automake,m4,libtool)安装到C:\/opt/autotools中。

当我运行自动制作时,总是会出现以下错误:

configure.ac:11: error: required file './ltmain.sh' not found

如果我从libtool的已安装树中复制ltmain.sh,执行将正常完成。

如何配置自动制作以查找ltmain.sh而无需复制?

最佳答案

autoconf / automake / libtool项目中,您需要运行:

  • libtoolize:它复制/链接了一些支持脚本,包括ltmain.sh(它是libtool的主要组件)。
  • aclocal:这将查找配置脚本将需要的所有m4宏,并创建本地副本以便于访问。
  • autoheader:可选,如果要使用config.h / AC_CONFIG_HEADERS,则在调用编译器时,将内联所有测试结果宏。
  • autoconf:将configure.ac使用的所有宏扩展为configure脚本。
  • automake:将所有Makefile.am转换为Makefile.in模板。您可能希望使用--add-missing调用此功能,以便可以将其他支持脚本链接/复制到您的项目(例如compilemissingdepcomptest-driver等)。

  • 不用担心运行每个工具。只需invoke autoreconf -i ,它将运行所需的工具。如果要查看正在执行哪些工具,请添加-v。为避免错误,只需将以下脚本放在项目的根目录中:
    #!/bin/bash -x
    mkdir -p m4
    exec autoreconf --install "$@"
    
    直接从源存储库 checkout /克隆项目的用户将需要至少运行一次./bootstrap脚本。如果用户获得了压缩包,则不需要这样做。
    Automake可以很好地照顾自己。当您运行make时,它将在需要时重新调用上述工具。但是,如果生成损坏的Makefile,则需要再次调用./bootstrap./configure来生成新的Makefile

    关于c - 找不到自动制作错误 './ltmain.sh',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22603163/

    10-11 19:00