为什么当我使用Makefile时我的Makefile不能制作* .mod

问题描述 投票:0回答:1

我正在尝试制作简单的Makefile来构建程序。

我的Makefile文件如下:

main.f是主要源代码,test1.f是模块。

default: test.out

test.out : main.o test1.o
    gfortran main.o test1.o -o test.out

test1.o: test1.f
    gfortran -c test1.f

main.o: main.f
    gfortran -c main.f


clean :
    rm -f ./*.out
    rm -f ./*.o
    rm -f ./*.mod

当我在终端中命令make时,给我以下错误:>

Fatal Error: Cannot open module file 'test1.mod' for reading at (1): No such file or directory

(1)显示错误发生的位置。在我定义使用模块test1的主要源文件行中即use test1

如果我命令gfortran -c test1.f,然后命令make,它将生成可执行文件而没有任何问题。

我的问题是,即使我在模块的Makefile中编写了用于创建目标文件的行,为什么它也不起作用?

我正在尝试制作简单的Makefile来构建程序。我的Makefile文件如下:main.f是主要源代码,而test1.f是模块。默认值:test.out test.out:main.o test1.o gfortran ...

makefile module fortran
1个回答
0
投票

您的Makefile依赖性错误。您需要在main.f90之前编译test1.f90。因此,将test.out : main.o test1.o更改为test.out: test1.o main.o

© www.soinside.com 2019 - 2024. All rights reserved.