2013-11-22 164 views
3

我相信這是一個簡單的問題,但我有一個艱難的時間來完成。我正在使用http://www.fftw.org/fftw2_doc/fftw_2.html中的這段代碼。我已經安裝了庫(通過自制軟件)。包含文件夾(/ usr/local/include)有Mac OS X上的FFTW小牛問題

fftw3.f 
fftw3.f03 
fftw3.h 
fftw3l.f03 
fftw3q.f03 

以下是網站中的代碼段。我有兩個fttw.h嘗試過了,fttw3.h

#include <fftw.h> 

int main (int argc, char** argv){ 
fftw_complex in[N], out[N]; 
fftw_plan p; 

p = fftw_create_plan(N, FFTW_FORWARD, FFTW_ESTIMATE); 

fftw_one(p, in, out); 

fftw_destroy_plan(p); 

    return 0; 
} 

它不斷拋出

fftwtest.c:1:10: fatal error: 'fftw3.h' file not found 
#include <fftw3.h> 
    ^
1 error generated. 
+2

沒有這個錯誤,但你要去旁邊有一個:該代碼使用FFTW的舊版本2 API ,但是您安裝了當前(向後不兼容)版本。閱讀上http://www.fftw.org/fftw3_doc – tab

+0

如果你只是想計算在OS X上的FFT,那麼你已經有了加速框架可用,即你不需要,除非你想你的代碼,以便使用FFTW跨平臺的。 –

回答

6

/usr/local/include/usr/local/lib不在小牛的默認標題搜索路徑中。您需要分別使用-I-L標誌來添加它們。

+0

有趣的變化...不是我注意到舊的行爲。 –

+0

我不得不在這裏更改一些項目makefiles。我不喜歡它,但我不做決定,所以... –

+1

你如何添加這些? – user906357

1

您需要正確的編譯器標誌。將/usr/local/include添加到您的標題搜索路徑。這是通過編譯器的-I標誌完成的,或者如果您使用的是Xcode,則可以在項目設置中進行設置。

1

我終於可以通過以下pyfftw安裝,都在同一個終端會話:

brew install fftw 
export DYLD_LIBRARY_PATH=/usr/local/lib 
export LDFLAGS="-L/usr/local/include" 
export CFLAGS="-I/usr/local/include" 
pip install pyfftw 
+0

這個工作對我來說,一個小的調整:我不得不使用'出口LDFLAGS = 「 - L/USR/local/lib目錄」'(用'/ lib',而不是'/ include')。 –