【问题标题】:how to compile fortran with minpack following successful macports install成功安装macports后如何使用minpack编译fortran
【发布时间】:2015-06-26 20:00:56
【问题描述】:

尝试编写一些调用一些MINPACK 例程的fortran 代码(对于fortran 来说是新手)。 I installed minpack from macports 没有任何问题,但是当我尝试编译我的代码时

gfortran -o test testprogram.f95 -lminpack

我收到错误“ld: library not found for -lminpack”。当我查看我的 LAPACK 库所在的 usr/lib 文件夹并且我已成功使用该文件夹时,我没有看到 MINPACK。此外,当我使用终端命令时

locate minpack

我得到的只是我的 python 库中的文件(例如,scipy 为它的许多功能包装了 minpack)。所以我想我有两个问题:首先,macports 在哪里安装这个包?这是一个令人尴尬的问题,但如果locate minpack 不能告诉我,那我就迷路了。接下来,我该如何设置它以便我可以使用通常的 -lminpack 术语来调用它?

我查看了 this question 并且我的 /opt/local/bin 术语在我的 $PATH 变量中是第一个(也许这不适用)。

我正在运行 OSX-Yosemite。来自 GCC-5.1 的 gfortran。

【问题讨论】:

  • 你知道macports在哪里安装了这个库吗?
  • 不,它是否有可能看到 python 正在使用的 minpack 版本,然后实际上并没有安装任何新的东西?这可以解释为什么只有与 python 相关的文件显示为“locate”。
  • 我自己不使用 macports,但谷歌搜索了一下说它会安装在 macports 特定的位置,可能是 /opt/local/lib。如果你找到了,你可以告诉 gfortran 将该位置包含在你的库路径中,-L/opt/local/lib
  • 可以使用port contents minipack获取minipack端口安装的文件列表。

标签: fortran static-libraries macports lapack fortran95


【解决方案1】:

默认情况下,macports 将所有内容安装在前缀/opt/local 下,因此所有库都将位于/opt/local/lib。要链接到 minpack 提供的我的 macports,您应该在此路径中包含一个 -L 标志,它指定一个库搜索路径。

gfortran -o test testprogram.f95 -L/opt/local/lib -lminpack

【讨论】:

    猜你喜欢
    • 2014-08-15
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    • 2010-11-22
    • 2019-04-06
    • 2019-02-26
    相关资源
    最近更新 更多