当我尝试执行 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