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 回答