在不同位置编译和链接 Fortran90 源时遇到问题

时间:2021-07-22 21:40:01

标签: makefile compiler-errors compilation fortran gfortran

我有这样的目录结构:

main/
    foo.f90
    bar.f90
    main/stuff
        floop.f90

foo.f90 包含一个 PROGRAM,它通过 bar.f90 关键字包含 USE 的功能,而 bar.f90 通过 {{ 包含 floop.f90 的功能1}}

我的 Makefile 看起来像:

USE

尝试 # define objects, mods objects: foo.o bar.o floop.o mods: foo.mod bar.mod floop.mod FC = gfortran # make foo: $(objects) $(FC) -o foo $(objects) floop.o : stuff/floop.f90 $(FC) -c stuff/floop.f90 bar.o : bar.f90 $(FC) -c bar.f90 foo.o : bar.o floop.o foo.f90 $(FC) -c foo.f90 这个,但我从 make 来源收到错误:

bar.f90

如何让 gfortran 知道该模块的位置?据我了解,默认情况下,gfortran -c bar.f90 use floop 1 Fatal Error: Can't open module file 'floop.mod' for reading at (1): No such file or directory 文件是在当前工作目录中创建的,因此我认为通过显式指向 mod 处的源来正确构建 floop.o 目标就足够了.

0 个答案:

没有答案