我明明在用户目录下重新安装了fftw3库并且指定了库路径和头文件路径,指定了链接库名,为何还发生这种错误!
编译命令行如下
g++ -I/usr/include -L/usr/lib -lfftw3 -lm test_fftw.cpp
报错如下:
/tmp/ccFsDL1n.o: In function `main':
fftwtest.c:(.text+0x1d): undefined reference to `fftw_malloc'
fftwtest.c:(.text+0x32): undefined reference to `fftw_malloc'
fftwtest.c:(.text+0x56): undefined reference to `fftw_plan_dft_1d'
fftwtest.c:(.text+0x66): undefined reference to `fftw_execute'
fftwtest.c:(.text+0x72): undefined reference to `fftw_destroy_plan'
fftwtest.c:(.text+0x7e): undefined reference to `fftw_free'
fftwtest.c:(.text+0x8a): undefined reference to `fftw_free'
collect2: ld returned 1 exit status
文件获取:test_fftw.cpp
解决办法:(将链接选项 -lxxx 移动到源文件后面)
g++ test_fftw.cpp -lfftw3 -lm
问题解决!!