メイクファイルにライブラリを組み込む際にいくつか問題があります。ライブラリをメイクファイルに含める際にエラーが発生しました
ライブラリnlopt
は/usr/lib
にインストールされていると私は、コマンドラインからコンパイルするとき、私のプログラムが正常に動作します:
gfortran -I/usr/include main.f90 -L/usr/lib -lnlopt -lm -o exec
は、しかし、私はメイクファイルを使用する必要があります。
main.f90:19: Error: Can't open included file 'nlopt.f'
あなたは、バグを見つけるのに助けてくださいでした:私は取得するには、以下の一つは罰金のようですが、それは動作しませんか?
INCLUDES = -I/usr/include
LFLAGS = -L/usr/lib
LIBS = -lnlopt -lm
objects = main.o
f90comp = gfortran
exec: $(objects)
$(f90comp) $(INCLUDES) -o exec $(objects) $(LFLAGS) $(LIBS)
main.o: main.f90
$(f90comp) -c main.f90
clean:
rm *.o *.mod exec
rm $(objects)
# End of the makefile
は
ファイル 'nlopt.f'はどこにありますか? 'usr/include'にありますか?コンパイラが引数の順序を気にしないのは確かですか? (私は* exact *同じ順序で確実にしようとします) – Beta
'make'の出力全体を表示できますか?私はあなたのエラーメッセージが有益である直前の行を感じています。 – sarnold
makeが実行しようとしているコマンドだけを表示するように 'make -n'を試してみると便利なことがあります。 – mgilson