尝试使用 automake/autoconf(分别为版本 1.10 和 2.61)。一切正常,除了 automake 没有生成 Makefile.in。
生成了一些警告,但我认为它们并不重要。然而,最后一行让我认为它正在生成不应该生成的东西并停在那里。项目中有md5.cc和md5.c文件。
xanadu:fsd wwilliam$ automake --add-missing
configure.ac:46: warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
/var/tmp/autoconf/autoconf-15~193/SRC/autoconf/lib/autoconf/specific.m4:421: AC_USE_SYSTEM_EXTENSIONS is expanded from...
/var/tmp/autoconf/autoconf-15~193/SRC/autoconf/lib/autoconf/functions.m4:1677: AC_FUNC_STRNLEN is expanded from...
configure.ac:46: the top level
configure.ac:46: warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
configure.ac:46: warning: AC_COMPILE_IFELSE was called before AC_GNU_SOURCE
/var/tmp/autoconf/autoconf-15~193/SRC/autoconf/lib/autoconf/specific.m4:340: AC_GNU_SOURCE is expanded from...
configure.ac:46: warning: AC_RUN_IFELSE was called before AC_GNU_SOURCE
configure.ac:46: warning: AC_COMPILE_IFELSE was called before AC_AIX
/var/tmp/autoconf/autoconf-15~193/SRC/autoconf/lib/autoconf/specific.m4:455: AC_AIX is expanded from...
configure.ac:46: warning: AC_RUN_IFELSE was called before AC_AIX
configure.ac:46: warning: AC_COMPILE_IFELSE was called before AC_MINIX
/var/tmp/autoconf/autoconf-15~193/SRC/autoconf/lib/autoconf/specific.m4:474: AC_MINIX is expanded from...
configure.ac:46: warning: AC_RUN_IFELSE was called before AC_MINIX
Makefile.am: object `md5.$(OBJEXT)' created by `md5.cc' and `md5.c'
configure.ac相关内容:
AC_INIT(testapp, 1.1, user@blah.com)
AM_INIT_AUTOMAKE(testapp,1.1)
AC_OUTPUT(Makefile)
Makefile.am 的内容:
AUTOMAKE_OPTIONS = foreign
CFLAGS=-O2
bin_PROGRAMS = testapp
testapp_SOURCES = interface.cc interface.hh keymgr.cc keymgr.hh main.cc manage.cc manage.hh md5.c md5.cc md5.h mm.cc mm.hh mysqldb.cc mysqldb.h testapp.cc testapp.h
我一直在谷歌上搜索这个问题,但没有发现任何有用的东西。
运行的命令是:
autoscan
mv configure.scan configure.ac
(edit configure.ac)
autoconf
(edit Makefile.am)
aclocal
automake --add-missing
有人以前见过类似的情况,或者知道我如何打开一些额外的调试来解决问题?
最佳答案
Makefile.am: object `md5.$(OBJEXT)' created by `md5.cc' and `md5.c'
是导致 Automake 中止的错误消息。这两个文件必须编译为 md5.o
,所以这是一个问题。
您可以重命名这两个文件之一吗?
关于makefile - 为什么automake无法生成Makefile.in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5387167/