0

更新

错误:应忽略的无效值

新更新

我试图做一个实验功能来测试一下dgesv,但它说现在找不到-llapack,这很奇怪,因为我是通过yum安装的。

我在从 LAPACK 调用 dgesv 时遇到了一些麻烦。目前,我已经尝试过:

extern "C"
{
    void dgesv(int *N, int *NRHS, double *A,
          int *LDA, int *IPIV,
          double *B, int *LDB, int *INFO);
}

dgesv(&lengthA, &widthF, A, &leadingDemA,
          permMat, B, &leadingDemB, &errorCheck);

问题是即使我用 编译g++ program -llapack,编译器也会对我大喊大叫。

我究竟做错了什么?

4

1 回答 1

0

您发布的代码存在一些问题。首先,声明dgesv缺少分号。你也通过了AB而且permMat不正确。仅当变量如下声明或定义时才应使用方括号

char a[10];
void f(char a[]);

只要您发布的代码是您使用的实际代码,以下更改应该会解决编译问题。

extern "C"
{
    void dgesv(int *lengthA, int *widthF, double *A,
        int *leadingDemA, double *permMat,
        double *B, int *leadingDemB, int *errorCheck); // <-- semi-colon
}

dgesv(&lengthA, &widthF, A, &leadingDemA, permMat, B, &leadingDemB, &errorCheck);
//                        ^^                    ^^  ^^
于 2013-05-20T03:30:48.673 回答