非root用户linux下安装FFTW


一、环境准备

确保g++可用
本次编译是基于 GNU C++ 环境的,因此务必确定g++编译器可用,使用如下命令验证:
命令:g++ --version
出现类似如下输出则表明编译器可用:

二、下载FFTW源码包

下载地址:http://www.fftw.org/download.html 
若要下载之前版本,点击下图browse可以下载之前版本。

三、解压编译安装

tar -zxvf fftw-3.3.10.tar.gz
cd fftw-3.3.10/
./configure --prefix=/BIGDATA2/nscc_sci_1/xujb/fftw --enable-threads
make
make install
注:如果在配置或编译过程中遇到问题,您可能需要在重试之前运行“make distclean”;确保没有以前编译尝试留下的任何陈旧文件。

四、运行测试

使用自己准备的例子(vim test_fftw.cpp)
g++ test_fftw.cpp -o test_fftw -lfftw3 \ 
-L/BIGDATA2/nscc_sci_1/xujb/fftw/lib \ 
-I/BIGDATA2/nscc_sci_1/xujb/fftw/include
-L和-I后为我们指定软件的安装路径的lib文件夹和include文件夹
然后会生成test_fftw可执行程序 通过命令(./test_fftw)执行测试例子
/*
 * test_fftw.cpp
 */
#include 
#include 
int main()
{
  int N = 8;
  fftw_complex *out = NULL, *in = NULL ,*in2;
  fftw_plan p,p1;
  in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
  out = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
  in2 = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);

  printf("original signal: ");
  for(int i = 0;i