使用gcc启动指南进行LAPACK

时间:2012-01-10 02:01:27

标签: gcc lapack

我需要帮助在Linux gcc中设置LAPACK。我是LAPACK的新手,并且不了解使用Fortran。

我已经下载了lapack-3.4.0,并使这些库得到了   liblapack.a和librefblas.a。

之后,我将这些库链接到我的程序:   -llapack -lrefblas

我想使用像dpotrf,dgetrf,dgetri等LAPACK函数, 如何包含头文件以便我的编译器找到这些函数?我是否需要使用lapacke,一个LAPACK的C接口?

1 个答案:

答案 0 :(得分:0)

有几种方法可以将LAPACK与c ++一起使用。这就是我要做的事情(假设你在某些* nix系统上)。

  1. 确保您拥有正确的库,并且您知道正确的编译器/链接器选项集。由于这些是用Fortran编写的,因此我将从Fortran代码开始。像this one一样。确保您可以使用gfortran进行编译。可能的链接器选项可能(取决于您的系统):-llapack-lblas或这些的一些组合。

  2. 然后转到使用C ++接口。同样,有多种方法。我个人觉得最容易使用clapack接口,你在这里声明LAPACk函数:

  3. extern "C" void dsyev_( char *jobz, char *uplo, int &n, double *a, int &lda, double *w, double *work, int &lwork, int &info);

    正确的链接器选项集取决于你的系统,可以是这样的:-llapack -lf77blas -latlas(这个集合适用于我的Ubuntu,其中LAPACK来自atlas包)。