FFTW是一個做頻譜非常實用的組件,本文講述在Windows和Linux兩個平臺使用FFTW組件。Windows下的的FFTW組件已經編譯好成爲dll文件,按照開發應用的位數下載好組件包後直接按照dll規則使用組件;Linux下則需要自己進行編譯。
FFTW源碼包的下載:http://www.fftw.org/download....
Linux編譯FFTW組件
1) 下載fftw-3.3.8.tar.gz文件,並解壓。
2) 配置fftw編譯選項
在終端輸入:
./configure --enable-type-prefix --prefix=/usr/local/fftw --with-gcc --disable-fortran --enable-i386-hacks --enable-shared=yes
常見錯誤: 提示--enable-type-prefix沒有找到文件,此時請檢查上面命令每個選項之間的空格和縮進是否混淆,全部更改爲空格。
3) 編譯fftw
make -j8
4) 編譯安裝
make install
5) 編譯浮點fftw支持
make clean
./configure --enable-float --enable-type-prefix --prefix=/usr/local/fftw --with-gcc --disable-fortran --enable-i386-hacks --enable-shared=yes
交叉编译下的:
./configure --prefix=/usr/local/fftw-nxp-imx8 --disable-fortran --enable-armv8-cntvct-el0 --enable-shared=yes --with-sysroot=$SDKTARGETSYSROOT --host=aarch64-poky-linux --enable-float
6) 編譯fftw
make -j8
7) 編譯安裝
make install
最後在/usr/local/fftw路徑中又so、a文件。
Windows編譯FFTW組件
下载32位和64位版本后将该文件解压到自己想要设定的路径,我这里设定的c:/fftw。
然后,将文件中给所有的扩展名为.def 和 .dll文件拷贝到 qt安装路径5.10.0mingw53_32bin中,(版本号可能有区别,但是大同小异)
如果不进行上述步骤,使用的fftw组件的应用程序编译是没有问题的,但是无法启动。当在调试模式下会提示,During startup program exited with code 0x00000135的错误(Qt的bug由第三方dll文件引起)。
在Qt安装路径5.10.0mingw53_32include 路径中创建文件夹fftw,再将c:/fftw文件中的所有h文件,拷贝到该目录。
參考文獻:
[1] Installation and Customization,http://www.fftw.org/fftw2_doc...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。