compiler-errors - gfortran包含带有子例程的目录

标签 compiler-errors fortran gfortran

我已经编写了一些fortran子例程。我将子例程保存在名为subroutines的Desktop文件夹中。当我编译一个fortran程序时,说main.f90(位于与subroutines不同的文件夹中),该程序使用sub1.f90文件夹的子例程(例如sub2.f90subroutines),我需要将每个子例程复制到main.f90文件夹中,然后像这样进行编译:
gfortran -o main main.f90 sub1.f90 sub2.f90
根据需要输出可执行文件。

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

我尝试了以下两种选择:
gfortran -L/home/user/Desktop/subroutines -o main main.f90 sub1.f90 sub2.f90gfortran -I/home/user/Desktop/subroutines -o main main.f90 sub1.f90 sub2.f90
这两个编译器选项均返回错误:gfortran: No such file or directory
我的电脑上唯一可用的fortran编译器是gfortran(没有ifort)。

最佳答案

您可以简单地将完整路径放入子例程文件。因此,您可以将编译内容扩展为

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

或执行此 call 的明智方法是使用扩展
gfortran -o main main.f90 subroutines/{sub1,sub2}.f90 

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

关于compiler-errors - gfortran包含带有子例程的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41753060/

相关文章:

android - 无法链接可执行文件 : empty/missing DT_HASH error

visual-c++ - 严重错误LNK1104 : cannot open file

c++ - 从 fortran 调用 c++ sub 时运行时中止

Fortran 算术异常

c# - Microsoft.Lightswitch.Build.Tasks.Targets(168,5): application definition contains critical errors

java - 优先队列实现堆

python - 是否可以在 python 中进行类似 fortran 的打印?

formatting - 输出格式 : too much whitespace in gfortran

xcode - "ld: mach-o string pool extends beyond end of file"是什么意思?

random - 在并行 MPI 中使用 fortran RANDOM_SEED