Ошибка в файле configure.ac при запуске aclocal

Я следую за https://robots.thoughtbot.com/the-magic-behind-configure-make-make-install чтобы узнать, как использовать autoconf а также automake создать configure сценарий и Makefile,

Ниже приводится содержание configure.ac файл:

AC_INIT ([helloworld], [0.1], [someone@nowhere.com])
AM_INIT_AUTOMAKE
AC_PROG_CC
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

Тем не менее, когда я бегу aclocal Команда, я получаю следующую ошибку.

user $ aclocal
configure.ac:2: error: AC_INIT should be called with package and version arguments
/usr/share/aclocal-1.14/init.m4:29: AM_INIT_AUTOMAKE is expanded from...
configure.ac:2: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
user $ 

Я сделал поиск в Google, чтобы увидеть, если строка AC_INIT ([helloworld], [0.1], [someone@nowhere.com]) было неверно. Но похоже, что это правильный способ использования AC_INIT,

Как это исправить?

Кроме того, ниже содержание Makefile.am файл (если это связано с ошибкой):

AUTOMAKE_OPTIONS = foreign
bin_PROGRAMS = helloworld
helloworld_SOURCES = hello.c

1 ответ

Решение

Похоже, что это просто вопрос пробела: в соответствии с 3.1.2 Язык Autoconf из Руководства Autoconf:

При вызове макросов, которые принимают аргументы, между именем макроса и открывающей скобкой не должно быть пробелов.

 AC_INIT ([oops], [1.0]) # incorrect
 AC_INIT([hello], [1.0]) # good

Так что вам нужно изменить

AC_INIT ([helloworld], [0.1], [someone@nowhere.com])

в

AC_INIT([helloworld], [0.1], [someone@nowhere.com])
Другие вопросы по тегам