gfortran包含子程序的目录

时间:2017-01-19 22:43:01

标签: compiler-errors fortran gfortran

我编写了一些fortran子程序。我将子例程保存在名为subroutines的Desktop文件夹中。当我编译fortran程序时,说main.f90(位于与subroutines不同的文件夹中),它使用文件夹{{1的子例程(例如sub1.f90sub2.f90)我需要将每个子程序复制到subroutines 的文件夹中,然后像这样编译:

main.f90

根据需要输出可执行文件。

我的问题是:gfortran中是否有任何编译器选项包含来自gfortran -o main main.f90 sub1.f90 sub2.f90文件夹的文件,而不必将每个子例程复制到subroutine的文件夹中?

我尝试过这两个选项:

main.f90

gfortran -L/home/user/Desktop/subroutines -o main main.f90 sub1.f90 sub2.f90

这两个编译器选项都会返回错误:gfortran -I/home/user/Desktop/subroutines -o main main.f90 sub1.f90 sub2.f90

我个人电脑中唯一可用的fortran编译器是gfortran(没有ifort)。

1 个答案:

答案 0 :(得分:0)

您可以简单地将完整路径放到子例程文件中。因此,您可以将编译扩充为

gfortran -o main main.f90 subroutines/sub1.f90 subroutines/sub2.f90 

或一种聪明的方式来做这个调用就是使用扩展

gfortran -o main main.f90 subroutines/{sub1,sub2}.f90 

其中大括号将扩展为与我显示的第一个并发症相同。