6

プログラムをライブラリにリンクするのに問題があります。私はこれまでこれをやったことがないので、おそらく愚かなことをしているでしょうが、私が知る限り、私は正しいことをしていると言えます。プログラムを、ホームディレクトリの下の別のディレクトリにfoo.f90あるライブラリにリンクする必要があります。libbar.a次のコマンドを入力します。

gfortran -c foo.f90
gfortran -o foo foo.f90 -L/directory/of/library -llibbar.a

しかし、これはスローします:

ld: library not found for -llibhealpix.a

もちろん、実際のライブラリはどこにありlibhealpix.aますか(ではなくlibbar.a

なぜこれが起こるのかについてのアイデアはありますか?

4

1 に答える 1

14

試してみてください(または、それが実際のライブラリ名である場合は、-lbarおそらく)。-lhealpix

-lxyz結果として、という名前のファイルが検索されますlibxyz.a。したがって、指定する-llibbar.a場合は、ファイルに。という名前を付ける必要がありますliblibbar.a.a

gfortranコマンドラインでアーカイブファイルのパスとフルネームを指定することもできます。gfortran -o foo foo.f90 /directory/of/library/libbar.a

于 2012-08-01T07:01:03.970 に答える