gfortran找不到那里的图书馆

Ste*_*ray 4 fortran gfortran

我将程序链接到库时遇到问题.我之前从未这样做过,所以我可能做了一些愚蠢的事情,但据我所知,我做的是正确的事情.我需要将我的程序链接foo.f90到一个库libbar.a,该库位于我的主目录下的其他目录中.我输入命令:

gfortran -c foo.f90
gfortran -o foo foo.f90 -L/directory/of/library -llibbar.a
Run Code Online (Sandbox Code Playgroud)

但这引发:

ld: library not found for -llibhealpix.a
Run Code Online (Sandbox Code Playgroud)

当然libhealpix.a是真正的图书馆(而不是libbar.a)

关于为什么会发生这种情况的任何想法?

Ian*_*anH 13

尝试-lbar(或者-lhealpix,如果这是真正的库名称).

-lxyz导致搜索名为的文件libxyz.a.因此,如果您指定,-llibbar.a则需要命名该文件liblibbar.a.a.

您还可以在gfortran命令行上简单地指定存档文件的路径和全名: gfortran -o foo foo.f90 /directory/of/library/libbar.a