use*_*414 22 c automake autotools libtool mingw32
我已经安装了mingw和msys mingw-get-setup.exe.我还安装了Autotools(autoconf,automake,m4,libtool)C:\/opt/autotools.
当我运行automake时,总会发生以下错误:
configure.ac:11: error: required file './ltmain.sh' not found
Run Code Online (Sandbox Code Playgroud)
如果我ltmain.sh从libtool的已安装树中复制,执行将正常完成.
如何在ltmain.sh不复制的情况下将automake配置为查找?
Dan*_*lKO 54
在autoconf/ automake/ libtoolproject中你必须调用:
libtoolize:这复制/链接一些支持脚本,包括ltmain.sh(这是libtool的主要组件).aclocal:这会查找配置脚本需要的所有m4宏,并制作本地副本以便于访问.autoheader:可选,如果要使用config.h/ AC_CONFIG_HEADERS,则在调用编译器时将内联所有测试结果宏.autoconf:将所有使用的宏展开configure.ac到configure脚本中.automake:将所有转换Makefile.am为Makefile.in模板.你可能想调用此--add-missing所以额外的支持脚本可以链接/复制到你的项目(如compile,missing,depcomp,test-driver,等).您很可能希望bootstrap按此顺序向每个项目添加一个脚本,以调用所有这些工具.或者你可能是懒惰的,只是调用autoreconf -i,看看它是否适用于你的项目.
在您Makefile完成配置脚本生成的工作之后(以及之后),autotools会自行处理; 也就是说,如果你编辑configure.ac,或者任何Makefile.am,通过简单地运行,将再次调用上面的正确工具以保持所有更新make.只是要小心不要在Makefile.am文件中创建语法错误,否则你可能最终会破坏Makefiles,导致make拒绝运行 - 在这种情况下你必须手动运行bootstrap脚本(或autoreconf).
编辑:
关于aclocal,该自动化手册说明了这一点:
aclocal预计会消失.
进一步向下:
从用户的角度来看,
aclocal删除可能会变得很痛苦.您可以采取一种简单的预防措施,使交换机更加无缝:永远不要自己调用aclocal.让这个人完全由autoreconfAutomake的重建规则控制.
所以你有它:autoreconf -i用来防止面向未来,除非你有充分的理由直接使用这些工具.