私のプログラムはintel MKLを使用するmpiプログラムです。シンプルなため、そこに、私たちはa.f90
は、他の人が必要と呼ばれるモジュールmymod
がFortran 90のメークファイルが生成され、未解決の外部シンボル
私が原因初めて、私はちょうどそれを2回行い、この
mpiifort *90 /fast /Qmkl /MD -o main.exe
のようにそれをコンパイルします含まれているmain.f90 a.f90 b.f90
があると仮定しましょうmymod.mod
今、私は再コンパイル時間を短縮したいので、私はmakefileを使いたいと思います。私はこのように書いています。
IFORT = /fast
MKL =/Qmkl
LDFLAGS = /MD
main:main.obj b.obj
mpiifort $(IFORT) $(MKL) $(LDFLAGS) $< -o [email protected]
mymod.mod:a.f90
mpiifort /c $(IFORT) $(MKL) $(LDFLAGS) $<
main.obj:main.f90
mpiifort /c $(IFORT) $(MKL) $(LDFLAGS) $<
b.obj:b.f90
mpiifort /c $(IFORT) $(MKL) $(LDFLAGS) $<
ただし、ここに何か間違いがあります。私はunresolved external symbol
の束を得た。なにが問題ですか?
私はメイクファイルのエキスパートではありませんが、 'main'ターゲットは' mymod.mod'に明示的な依存関係を持たないように見えるので、これは構築されません。私も完全に間違っている可能性があります –