2016-10-06 6 views
0

Это весь мой configure.ac (генерируется AutoScan), и я добавить строку AC_PREIX_CONFIG_H(hotplugin) в этом сценарии:ошибка: возможно, не определен макро: AC_PREFIX_CONFIG_H

AC_PREREQ([2.63]) 
AC_INIT([hotplugin], [0.1]) 
AC_CONFIG_SRCDIR([loader.c]) 
AC_CONFIG_HEADERS([config.h]) 

# Checks for programs. 
AC_PROG_CXX 
AC_PROG_CC 

# Checks for libraries. 
# FIXME: Replace `main' with a function in `-ldl': 
AC_CHECK_LIB([dl], [main]) 
# FIXME: Replace `main' with a function in `-lhotp': 
AC_CHECK_LIB([hotp], [main]) 

# Checks for header files. 
AC_CHECK_HEADERS([fcntl.h limits.h stddef.h stdint.h stdlib.h string.h sys/time.h unistd.h]) 

# Checks for typedefs, structures, and compiler characteristics. 
AC_HEADER_STDBOOL 
AC_TYPE_OFF_T 
AC_TYPE_PID_T 
AC_TYPE_SIZE_T 
AC_TYPE_SSIZE_T 

# Checks for library functions. 
AC_FUNC_MALLOC 
AC_FUNC_REALLOC 
AC_CHECK_FUNCS([memset strchr strdup strerror strstr strtol strtoul]) 

AC_CONFIG_FILES([makefile]) 
AC_PREIX_CONFIG_H(hotplugin) 
AC_OUTPUT 

При запуске autoconf в этом проекте, я получаю ошибка:

configure.ac:35: error: possibly undefined macro: AC_PREIX_CONFIG_H 
    If this token and others are legitimate, please use m4_pattern_allow. 
    See the Autoconf documentation. 

И мой инструмент списки:

autoconf (GNU Autoconf) 2.63 
autoscan (GNU Autoconf) 2.63 
autoheader (GNU Autoconf) 2.63 
m4 (GNU M4) 1.4.13 
libtoolize (GNU libtool) 2.2.6b 
+0

Что вы хотите сделать с AC_PREIX_CONFIG_H? – ztik

+0

@ ztik, извините, макрос AC_PREIX_CONFIG_H не прав, он должен быть AC_PREFIX_CONFIG_H. И я хочу сгенерировать устанавливаемый config.h, который имеет префикс PACKAGE-NAME, например libhot_config.h. и имена макросов в этом файле config.h будут иметь префикс соответствующего PACKAGE-NAME. –

ответ

1

Вы typoed в МВУО o: AC_PREIX_CONFIG_H не существует; AC_PREFIX_CONFIG_H привык, но он устарел, правильный - AX_PREFIX_CONFIG_H.

Кроме того, если вы хотите использовать этот макрос, вы должны смотреть на то, как использовать external macro files (полное раскрытие: я написал эту документацию.)

+0

Спасибо, я подставляю 'AX_PREFIX_CONFIG_H' для' AC_PREFIX_CONFIG_H'. 'Autoconf' и' autoheader' woks.but при запуске ./configure,I получить новую ошибку, например: 'config.status: ошибка: нет префикса для _PREFIX_PKG_CONFIG_H ', @ Diego –

+0

Это похоже на то, что макрос ожидает вы должны либо определить 'ПАКЕТ' (что происходит, если вы вызываете' AM_INIT_AUTOMAKE'), либо передаете второй параметр. –