0

我正在尝试使用 gcc 和 ubuntu 机器上的 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 经验,我无法解决。

任何帮助将不胜感激!

4

1 回答 1

7

以下对我有用:


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

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

于 2012-05-21T08:38:07.517 回答