PDA

View Full Version : undefined reference to fftw libraries



kmyadam
8th March 2006, 21:55
Hello Everyone,

I am trying to execute a program and ending with following errors. I think i am not linking my fftw libraries correctly during compiling. Can anyone look into my Makefile and errorcodes and say where i am doing wrong.






BCascade_204.o(.text+0x1c06):/home/kmyadam/sprogworking/BCascade_204.cpp:944: undefined reference to `fftw_malloc'
BCascade_204.o(.text+0x1c31):/home/kmyadam/sprogworking/BCascade_204.cpp:945: undefined reference to `fftw_malloc'
BCascade_204.o(.text+0x1c6b):/home/kmyadam/sprogworking/BCascade_204.cpp:947: undefined reference to `fftw_plan_dft_r2c_2d'
BCascade_204.o(.text+0x1ca5):/home/kmyadam/sprogworking/BCascade_204.cpp:948: undefined reference to `fftw_plan_dft_c2r_2d'
BCascade_204.o(.text+0x1e8d): In function `BCascade::deallocate_memory()':
/home/kmyadam/sprogworking/BCascade_204.cpp:1076: undefined reference to `fftw_destroy_plan'
BCascade_204.o(.text+0x1eba):/home/kmyadam/sprogworking/BCascade_204.cpp:1081: undefined reference to `fftw_destroy_plan'
BCascade_204.o(.text+0x1ee7):/home/kmyadam/sprogworking/BCascade_204.cpp:1086: undefined reference to `fftw_free'
BCascade_204.o(.text+0x1f14):/home/kmyadam/sprogworking/BCascade_204.cpp:1091: undefined reference to `fftw_free'
BCascade_204.o(.text+0x1f41):/home/kmyadam/sprogworking/BCascade_204.cpp:1096: undefined reference to `fftw_free'
BCascade_204.o(.text+0x3347): In function `BCascade::filter_cascade(float*)':
/home/kmyadam/sprogworking/BCascade_204.cpp:1723: undefined reference to `fftw_execute'
BCascade_204.o(.text+0x3420):/home/kmyadam/sprogworking/BCascade_204.cpp:1741: undefined reference to `fftw_execute'
BCascade_204.o(.text+0x39a3): In function `BCascade::decompose_fftw(float*, float*, float*, float*)':
/home/kmyadam/sprogworking/BCascade_204.cpp:1983: undefined reference to `fftw_execute'
BCascade_204.o(.text+0x3abe):/home/kmyadam/sprogworking/BCascade_204.cpp:2011: undefined reference to `fftw_execute'
Stochastic_Cascade_103.o(.text+0x12b8): In function `Stochastic_Cascade::make_noise(float*, _IO_FILE*)':
/home/kmyadam/sprogworking/Stochastic_Cascade_103.cpp:450: undefined reference to `fftw_execute'
Stochastic_Cascade_103.o(.text+0x1475):/home/kmyadam/sprogworking/Stochastic_Cascade_103.cpp:484: more undefined references to `fftw_execute' follow
collect2: ld returned 1 exit status





My Makefile


EXECUTABLE = Sprog
OBJECTFILES = BCascade_204.o forecast.o \
optical_flow107c.o \
smoothing.o Stochastic_Cascade_103.o \
utilities.o btime_mo.o \
general.o hyCommonSpheroid.o \
hyMapParameters.o hyProjection.o

CC = g++
CFLAGS =
DEBUG = -g -lstdc++ -lfftw3

$(EXECUTABLE): $(OBJECTFILES)
$(CC) -o $(EXECUTABLE) $(OBJECTFILES) -lm

$(OBJECTFILES):BCascade_204.cpp
$(CC) -w -c $(DEBUG) $*.cpp

clean:
rm $(OBJECTFILES)






When i locate for libfttw3 i get




/usr/local/lib/libfftw3.la
/usr/local/lib/libfftw3.a



thanks,
Kedar

jacek
8th March 2006, 22:05
Try this:DEBUG = -g
LIBS = -lm -lstdc++ -lfftw3

$(EXECUTABLE): $(OBJECTFILES)
$(CC) -o $(EXECUTABLE) $(OBJECTFILES) $(LIBS)

kmyadam
9th March 2006, 02:01
Great it Worked!!

thanks,
Kedar