1

関数とサブルーチン別のモジュールで宣言し、適切な非ヘッダー モジュールで初期化するにはどうすればよいですか?

コンパイルに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
4

1 に答える 1

0

あなたが何をしようとしているのかは完全には明らかではありませんが、サブモジュールを探しているように見えます。残念ながら、それらは現在、コンパイラによって広くサポートされていません。

于 2013-08-22T18:43:34.340 に答える