我正在尝试制作简单的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依赖性错误。您需要在main.f90之前编译test1.f90。因此,将test.out : main.o test1.o
更改为test.out: test1.o main.o
。