我编写了一些fortran子程序。我将子例程保存在名为subroutines
的Desktop文件夹中。当我编译fortran程序时,说main.f90
(位于与subroutines
不同的文件夹中),它使用文件夹{{1的子例程(例如sub1.f90
,sub2.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)。
答案 0 :(得分:0)
您可以简单地将完整路径放到子例程文件中。因此,您可以将编译扩充为
gfortran -o main main.f90 subroutines/sub1.f90 subroutines/sub2.f90
或一种聪明的方式来做这个调用就是使用扩展
gfortran -o main main.f90 subroutines/{sub1,sub2}.f90
其中大括号将扩展为与我显示的第一个并发症相同。