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退出狀態
你的代碼在哪裏?代碼是否包含fftw庫所需的頭文件?你仔細看過你的編譯/在線聲明嗎?你注意到文件名中間的空格嗎? – user3629249
在我的計算機上,.../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
我的代碼與https://stackoverflow.com/questions/25568027/unable-to-link-to-fftw3-library中使用的代碼完全相同,而且我的問題與他所擁有的完全一樣。我嘗試了這些建議,但他們沒有奏效。我使用的fftw的版本不同,它是fftw-3.3.6-pl2,我將它重命名爲fftw3,因爲我認爲它可能有所幫助。 – PooriR