编译 FFTW fortran 程序

SSC*_*oli 3 bash fortran compilation fftw

我对 Unix 和 bash 系统很陌生,因此如果这个问题看起来很愚蠢,我提前表示抱歉。

我最近在我的 iMac 上下载并安装了 FFTW 程序(遵循http://www.fftw.org/fftw3.pdf第 10 章中的指南)。安装成功,因为当我执行“make check”时没有收到错误。

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

Fortran 代码非常简单(它基本上只是检查如何将 FFTW 库链接到 Fortran):

program fft

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

implicit none

end program fft
Run Code Online (Sandbox Code Playgroud)

然而,当谈到编译程序时,我完全一无所知(基本上是因为我根本不是编译专家)我通常编译的是:

gfortran -o "executable_ename"  "main.f90"
Run Code Online (Sandbox Code Playgroud)

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

 fft.f90:4: Error: Can't open included file 'fftw3.f03'
Run Code Online (Sandbox Code Playgroud)

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

Ale*_*ogt 5

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

gfortran -I/usr/include -o "executable_ename" main.f90
Run Code Online (Sandbox Code Playgroud)

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

program fft
  use, intrinsic :: iso_c_binding
  implicit none

  include 'fftw3.f03'
end program fft
Run Code Online (Sandbox Code Playgroud)