如何在单独的模块中声明功能和子例程,并在相应的非标头模块中初始化它?
我正在使用 make 进行编译:
# All modules
OBJS := $(BINDIR)/physics.o $(BINDIR)/particles.o
# Build rules
$(BINDIR)/%.o: $(VPATH)/%.f | $(BINDIR)
$(FC) $(FFLAGS) -c $^ -o $@
$(BINDIR)/%.mod:
runner: $(OBJS)
..问题是 physics.f 依赖于 particles.f 中的子程序,反之亦然。所以我不能只改变这些文件的编译顺序。
我收到了这样的错误:
src/physics.f:105.23:
use particles
1
Fatal Error: Can't open module file 'particles.mod' for reading at (1): No such file or directory
make: *** [bin/physics.o] Error 1