我是 gfortran+minGW 的新手。我需要创建makefile。当我跑
$ gfortran -c q.f
一切正常!但是我怎样才能像这样运行makefile呢?
CC = gfortran
q.o : q.f
$(CC) -c q2.o q2.f
我收到错误“CC:找不到命令”。
(OS – Win 7 (64)) 坦克!!!
看起来您正在尝试将生成文件作为常规脚本运行。尝试
$ make
或者
$ make -f mymakefilename
如果您将文件命名为“makefile”或“Makefile”以外的名称。
您可能只执行makefile,但如果是这样,您需要一个“shebang”行,例如
#!/usr/bin/make
在文件的顶部,但坦率地说,几乎没有人使用该选项。只需使用make(1)命令。
更新
这是因为它们的顺序错误。Makefiles 处理(默认情况下)文件中的第一个目标。当你运行 make 时,它会看到 make 的规则q.o
from q.f
,它会编译它,然后说:“好的,我完成了。”
如果你把q.exe
目标放在第一位,它会说“嗯,我想构建 q.exe 并且要做到这一点,我需要一个 qo 我有一个 qo 吗?不?好的,我会建立一个 qo 我有一个规则-- 我可以从 qf 构建一个 qo 好的,已经完成了。现在我可以构建 q.exe 了吗?哦,是的,我可以。我将构建 q.exe。任何东西?不,我完成了。
如果你要使用表扬
$ make q.exe
然后你会明确告诉 make 生成 q.exe,这会导致同样的事情发生,但更好的是你应该重新排序你的 makefile 并习惯它们的工作方式。