我做了很多C和一些C++编程,但以前从未使用过自动工具(我很久以前就在做这件事了,这些工具还不可用(。无论如何,我在Xubuntu 20.04上,我正在上https://earthly.dev/blog/autoconf/我已经创建了这个配置.ac
AC_INIT([helloworld], [0.1], [myemail@gmail.com])
AM_INIT_AUTOMAKE
AC_PROG_CC
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
这似乎与教程一致,我做了aclocal
还可以,但当我尝试做autoconf
时,我得到了
configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."
我不知道为什么会出现这种情况,虽然我可以大致猜测,但我不知道这些安装内容是什么,也不知道为什么configure
似乎认为我需要它们。
我不太关心您链接的文章的一些细节。一般来说,不应该手动运行单独的自动工具(aclocal
、autoconf
、等(,而建议经常这样做会破坏推荐人对我的可信度。请改用autoreconf
。它确定要运行哪个单独的自动工具,并以正确的顺序运行它们。大多数时候,这就是你所需要做的
但是,对于一个新的或新的自动工具项目,或者如果您收到诸如报告脚本和工具丢失之类的消息,请将--install
选项添加到您的autoreconf
运行中。在这种情况下,我倾向于使用--force
选项来进行良好的度量,尽管这通常是不必要的:
autoreconf --install --force
--install
部分将确保您当前使用的Autotools组件所需的所有辅助脚本都安装在项目源代码树中,并且--force
选项将替换现有的任何辅助脚本。
注意:如果您计划在configure.ac
中使用AC_CONFIG_AUX_DIR
,那么在运行autoreconf --install
之前将其放入是很方便的,因为它会影响助手脚本的放置位置。