1

Intel Fortran 2012 コンパイラを使用して、標準の Unix 環境で作業しています。私のコードにはいくつかの古い.fファイルといくつかの新しい.f90ファイルがあるため、makefile は次の構造で編成されています。

f_sources= ... ...
f90_sources= ... ...

f_objects = $(patsubst %.f,%.o,$(f_sources))
f90_objects = $(patsubst %.f90,%.o,$(f90_sources))

$(f_objects): %.o: %.f
        @echo compiling $<
        $(FC) $(FC_FLAGS) -c $< -o $@

# compile f90 files:
$(f90_objects): %.o: %.f90
        @echo compiling $<
        $(FC) $(FC_FLAGS) -c $< -o $@

問題は、.f一部のファイルで定義されたモジュールに依存する奇妙なファイルがほとんど.f90なく、最初にすべてのファイルをコンパイルするため、コンパイラが依存関係を検出できないように見えること.fです...

Error in opening the compiled module file.  Check INCLUDE paths.

この問題を解決する方法はありますか?

4

2 に答える 2

2

追加

f77_file_with_module_dependency.o: f90_file_for_module.o

どこかの Makefile に。

于 2013-11-08T15:34:45.823 に答える