2017-06-16 148 views
0

我试图运行一个包含fftw库的简单代码。我知道代码是正确的,因为它是作者提供的测试代码。这是我在编译过程中键入:使用gcc编译我的文件时链接fftw-3.3.6-pl2

gcc my file.c -L/home/ankit/Desktop/fftw-3.3.6-pl2/lib/ 
-I/home/ankit/Desktop/fftw-3.3.6-pl2/include/ -lfftw -lm 

我得到的错误:

myfile.c文件:(+。文本0x2c上):.未定义的引用“fftw_plan_dft_2d” collect2:LD返回1退出状态

+1

你的代码在哪里?代码是否包含fftw库所需的头文件?你仔细看过你的编译/在线声明吗?你注意到文件名中间的空格吗? – user3629249

+0

在我的计算机上,.../lib中的fftw库的名称是'libfftw3.a'。因此,我把它链接成'-lfftw3'。你可以测试它吗?另见http://www.fftw.org/fftw3_doc/Linking-and-Initializing-MPI-FFTW.html和https://stackoverflow.com/questions/25568027/unable-to-link-to-fftw3-library – francis

+0

我的代码与https://stackoverflow.com/questions/25568027/unable-to-link-to-fftw3-library中使用的代码完全相同,而且我的问题与他所拥有的完全一样。我尝试了这些建议,但他们没有奏效。我使用的fftw的版本不同,它是fftw-3.3.6-pl2,我将它重命名为fftw3,因为我认为它可能有所帮助。 – PooriR

回答

0

这不是一个链接问题,安装是错误的,我不得不用“须藤make install”来获取安装是许可成功的。之后我可以将它与'gcc test.c -lfftw3 -lm'链接起来。感谢您的建议!