编译 FFTW fortran 程序

compile FFTW fortran program

我是 Unix 和 bash 系统的新手,因此如果这个问题看起来很愚蠢,我提前道歉。

我最近在我的 iMac 上下载并安装了 FFTW 程序(遵循 http://www.fftw.org/fftw3.pdf 第 10 章中的指南)。安装成功,因为我在 "make check".

时没有出现任何错误

现在我想开始使用上述库编写一个小测试程序。

fortran 代码非常简单(基本上只是检查如何将 FFTW 库 link 转换为 fortran):

program fft

use, intrinsic :: iso_c_binding
include 'fftw3.f03'

implicit none

end program fft

然而,当涉及到编译程序时,我完全一无所知(主要是因为我根本不擅长编译)我通常做的编译是:

gfortran -o "executable_ename"  "main.f90"

但是这不起作用,特别是我收到以下错误:

 fft.f90:4: Error: Can't open included file 'fftw3.f03'

如果你能帮我解决这个问题,也许还可以解释一下我缺少什么以及为什么它会很棒。

您需要确保包含 fftw03.f03 的目录在编译器的包含文件搜索列表中。

找到该目录(假设它在 /foo/bar 中),然后使用

gfortran -I /foo/bar -o executable_name main.f90

您需要指定 fftw3.f03 所在的位置!在我的机器上,它在 /usr/include,所以我使用:

gfortran -I/usr/include -o "executable_ename" main.f90

顺便说一句:implicit none 必须在 include 前面:

program fft
  use, intrinsic :: iso_c_binding
  implicit none

  include 'fftw3.f03'
end program fft