gfortran:致命错误:没有输入文件编译终止

时间:2013-09-02 19:25:54

标签: macos bash shell fortran

我最近在Mac OS X 10.6.8上开始使用gfortran在Fortran中编程。我写了以下简单的.f90程序:

sayhi.f90

subroutine sayhi()
  implicit none
  ! Display output to screen
  print*, 'Hello World'
end subroutine sayhi

main.f90

program main
  implicit none
  call sayhi()
end program

当我在终端中键入以下命令时,程序按预期编译:

gfortran sayhi.f90 main.f90 -o helloworld.out

但是,当我尝试使用bash脚本helloworld.sh

#!/bin/bash

# Set your compiler (ifort, gfortran, or g95)
# Note: no space before equal sign
F90= gfortran

# Clear old files
rm *.o

# Compile and link (note: variable is used via a $ sign)
$F90 sayhi.f90 main.f90 -o helloworld.out

并输入终端

bash ./helloworld.sh

返回以下错误:

gfortran: fatal error: no input files
compilation terminated.
rm: *.o: No such file or directory
./helloworld.sh: line 11: sayhi.f90: command not found

我确信gfortran已正确安装,因为在终端中直接输入命令工作正常,并且上面提到的所有.f90.sh文件都在同一目录中,这是我目前的工作目录。即使我不使用变量F90并直接在shell文件中使用gfortran命令,也会出现相同的no input files问题。

有谁能帮我确定问题所在?非常感谢!

2 个答案:

答案 0 :(得分:3)

在分配变量时,不能添加空格。

F90= gfortran

应该是

F90=gfortran.

答案 1 :(得分:1)

更改

# Note: no space before equal sign
F90= gfortran

# Note: no space before OR AFTER the equal sign
F90=gfortran