FFTW 中链接库出现问题

FFTW 中链接库出现问题

当我尝试执行 Makefile 时发生此错误:

/usr/bin/ld: cannot find -lrfftw_mpi
/usr/bin/ld: cannot find -lfftw_mpi
/usr/bin/ld: cannot find -lrfftw
collect2: error: ld returned 1 exit status

相应的.so库放在/usr/lib中:

librfftw_mpi.so.2 (libc6,x86-64) => /usr/lib/librfftw_mpi.so.2
librfftw.so.2 (libc6,x86-64) => /usr/lib/librfftw.so.2

libfftw_mpi.so.2 (libc6,x86-64) => /usr/lib/libfftw_mpi.so.2

我尝试创建符号链接:

sudo ln -s /usr/lib/libfftw.so.2 /usr/bin/libfftw.so

但它不起作用。有人能帮助我吗?

答案1

其实我的问题已经解决了(我离线提问的):

  • 对于这个特定的代码,必须使用双精度 FFTW,所以我编辑了这个 Makefile 行以将其恢复到原始状态:

    FFTW_LIB =  $(FFTW_LIBS) -ldrfftw_mpi -ldfftw_mpi -ldrfftw -ldfftw
    

单精度 FFTW生成一个 Makefile,但是它不起作用。

  • 编辑 FFTW_LIBS 行,以便/home/van/fftw/lib/链接到我的电脑()的正确路径:

    FTW_LIBS=  -L/home/van/fftw/lib/
    
  • 将这一行添加到~/.bashrc文件中,以便可执行文件始终链接到其所有依赖项:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/van/fftw/lib
    

相关内容