编译 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
我是 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