尝试使用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
之前有人见过这样的事情,或者知道如何开启一些额外的调试来排除问题?
答案 0 :(得分:7)
Makefile.am: object `md5.$(OBJEXT)' created by `md5.cc' and `md5.c'
是导致Automake中止的错误消息。这两个文件必须编译为md5.o
,这是一个问题。
你可以重命名这两个文件中的一个吗?
答案 1 :(得分:2)
它在第46行抱怨,你没有提供你的问题
无论如何,要解决此问题,您必须在AC_USE_SYSTEM_EXTENSIONS
中添加configure.ac
。
示例:
AC_INIT(testapp, 1.1, user@blah.com)
AM_INIT_AUTOMAKE(testapp,1.1)
AC_OUTPUT(Makefile)
AC_USE_SYSTEM_EXTENSIONS
AC_PROG_C
...
答案 2 :(得分:0)
我有一个用automake配置的程序。该程序有一个脚本来进行设置,包括:
aclocal -I config &&
libtoolize --automake &&
autoheader &&
automake --foreign --add-missing &&
autoconf
正如我所看到的那样,差异在于autoconf
步骤是最后一步,而不是在中间。