我试图从http://www.irisa.fr/metiss/guig/spro建立SPRO
他们使用Automake 1.6.2生成makefile.
我的问题是,当我尝试制作项目时,我收到错误
“未定义提及’罪’”等
这是错误图像
此错误是由于数学库未包含-lm标志但-file存在于makefile.am中
这是我的makefile.am
AUTOMAKE_OPTIONS = 1.4 foreign
ACLOCAL_AMFLAGS = -I auxdir
LDADD = -lm -L. -lspro @sphere_lib@
INCLUDES = @sphere_include@
include_HEADERS = spro.h
lib_LIBRARIES = libspro.a
noinst_HEADERS = getopt.h
libspro_a_SOURCES = system.h spro.h sig.c spf.c header.c misc.c lpc.c convert.c fft.c
bin_PROGRAMS = scopy slpc slpcep sfbank sfbcep
noinst_PROGRAMS = scompare
scopy_SOURCES = scopy.c getopt.c getopt1.c
scopy_DEPENDENCIES = libspro.a
slpc_SOURCES = slpc.c getopt.c getopt1.c
slpc_DEPENDENCIES = libspro.a
slpcep_SOURCES = slpcep.c getopt.c getopt1.c
slpcep_DEPENDENCIES = libspro.a
sfbank_SOURCES = sfbank.c getopt.c getopt1.c
sfbank_DEPENDENCIES = libspro.a
sfbcep_SOURCES = sfbcep.c getopt.c getopt1.c
sfbcep_DEPENDENCIES = libspro.a
scompare_SOURCES = scompare.c getopt.c getopt1.c
scompare_DEPENDENCIES = libspro.a
SUBDIRS = doc auxdir test
EXTRA_DIST = README INSTALL COPYING CHANGES
任何人都可以指导我如何解决这个问题?
解决方法:
更改依赖项的顺序(如果libA需要来自libB的符号,则顺序应为-lA -lB).所以它应该是:
LDADD = -L. -lspro @sphere_lib@ -lm