FFTW 在linux中安裝以及 沒有生成動態庫 .so 的解決方法

Linux下FFTW庫的安裝

FFTW(the Fastest Fourier Transform in the West)庫是由MIT(Massachusetts Institute of Technology)的Matteo Frigo和Steven G. Johnson開發的,用於一維和多維實數或複數的離散傅里葉變換。

1. 下載 fftw-3_2_2_tar.gz              (www.fftw.org, or www.rpmfind.net )


2. tar zxvf fftw-3_2_2_tar.gz            展開壓縮文件


3. 在Linux中安裝FFTW:
總共需要兩次安裝  
 第一次安裝就按下面的 a 配置就行
第二次安裝時爲了 生成libfftwf.so的庫文件   以f結尾的代表可以的數據類型是 float  加上 --enable-float   第一次安裝的時候不能加這個選項  否則會出錯

a.    
./configure --enable-type-prefix --prefix=/usr/local/fftw --with-gcc --disable-fortran --enable-i386-hacks  --enable-shared=yes
其中,
--enable-type-prefix    參數是爲了同時使用single precision(單精度)和double precision(雙精度),如果不使用它,最後只有以rfftw開頭的文件被安裝(real fftw);

--prefix=                      參數是設定安裝目錄;

--with-gcc                    使用gcc編譯器;

--disable-fortran         參數爲了不包含Fortran調用的機制;

--enable-i386-hacks   爲Pentium和x86以後的CPU優化gcc的編譯速度。
 --enable-shared=yes  爲了生成動態庫.so文件  否則生成的都是.a 文件  沒法編譯 (我就卡在這裏)

第一次安裝
1.
make                          編譯
2.
make install               安裝,這一次安裝完後,在安裝目錄中存在以dfftw和drfftw開頭文件,但沒有sfftw開頭的文件
3.
make clean              還需要安裝一次,先清除

第二次安裝
1.
./configure --enable-float --enable-type-prefix --prefix=/usr/local/fftw --with-gcc --disable-fortran --enable-i386-hacks --enable-shared=yes
其中,--enable-float      爲了生成單精度計算的頭文件和庫文件,即以sfftw開頭的文件。
2.
make                      重新編譯
3.
make install            再一次安裝,安裝完後,目錄中便會同時存在sfftw和dfftw開頭的文件(用於複數函數/complex function的FFT變換)和srfftw與drfftw開頭的文件(用於實數函數的FFT變換)
 
發佈了22 篇原創文章 · 獲贊 21 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章