即使math.h包含在makefile

时间:2015-06-02 13:12:57

标签: c++ c makefile automake

我正在尝试从http://www.irisa.fr/metiss/guig/spro

构建SPRO

他们使用 Automake 1.6.2 生成makefile。

我的问题是,当我尝试制作项目时,我收到了错误

"undefined reference to 'sin' "等。

这是错误图片

enter image description here

此错误是由于数学库未包含在-lm标记中,-lm

中存在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

有人可以指导我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:6)

更改依赖项的顺序(如果libA需要来自libB的符号,则顺序应为-lA -lB)。所以它应该是:

LDADD    = -L. -lspro @sphere_lib@ -lm