fortran - gfortran 找不到那里的库

标签 fortran gfortran

我在将程序链接到库时遇到问题。我以前从未这样做过,所以我可能做了一些愚蠢的事情,但据我所知,我正在做正确的事情。我需要将程序 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)

关于为什么会发生这种情况有什么想法吗?

最佳答案

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

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

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

关于fortran - gfortran 找不到那里的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11753591/

相关文章:

gdb - Fortran在gdb中打印可分配数组

fortran - 包含 IEEE_GET_ROUNDING_MODE 的库的 gfortran 链接器参数

input - 如何在fortran中读取 "enter"键

r - 从 R 编辑 Fortran 引用代码

fortran - 使用不同的输入参数多次运行 Fortran 代码

fortran - 在对两个数组的乘积求和时,gfortran 或 ifort 编译器会明智地使用 SIMD 指令吗?

windows - MinGW/海湾合作委员会 : The application was unable to start correctly (0xc000007b)

fortran - Fortran 代码中 END SUBROUTINE 之前的 RETURN 语句被认为是一个好的做法吗?

file-io - 逐行读取文本文件,但仅读取特定列

fortran:在变量位于内存中*之后*识别变量的内在类型