【问题标题】:Compiling Fortran code编译 Fortran 代码
【发布时间】:2012-05-20 14:58:00
【问题描述】:

我正在尝试在 ubuntu 机器上使用 gcc 和 gfortran 包编译 f90 代码。不幸的是,在运行编译器时,我不断收到未定义的参考错误。

我调用编译器如下:

gfortran -o gauss Guass1d.f90 linalg.f90 

或者,我尝试为 linalg.f90 创建目标文件,然后使用以下内容:

gfortran -o guass Guass1d.f90 linalg.mod (tried with linalg.o as well)

这些都不起作用。代码来自一本书,位于https://sites.google.com/site/varga1kalmanbook/computer-codes/part-i/chapter-1/variational-method-shifted-gaussians(在页面底部)

我确定这只是我如何编译代码的问题,但由于缺乏 fortran 经验,我无法解决。

任何帮助将不胜感激!

【问题讨论】:

  • 你是否一直拼错“guass”这个词?
  • 您需要发布您收到的错误消息,以便任何人能够帮助您 - 我们需要知道哪些引用未定义。虽然正如 janneb 所说,它可能是 lapack。

标签: compiler-construction fortran gcc


【解决方案1】:

以下内容对我有用:


$ gfortran -O2 -c linalg.f90
$ gfortran -O2 gauss_1d_c.f90 linalg.o -o gauss -llapack -lblas

所以原因是 linalg.f90 使用 LAPACK,因此需要链接到 LAPACK 和 BLAS。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 2016-04-10
    • 2016-07-15
    • 2015-02-15
    • 1970-01-01
    相关资源
    最近更新 更多