1

我正在尝试使用开源库http://arma.sourceforge.net进行线性代数计算。犰狳中的一些函数如pinv使用 LAPACK。我编写了一段非常简单的代码来使用 Armadillo 计算 pinv,但它会产生运行时错误。这可能是因为我在 sln 文件中没有 LAPACK 链接器标志。

#include <iostream>

#include "armadillo"

using namespace arma;
using namespace std;


int main(int argc, char** argv)
  {

 mat A = rand<mat>(4,5);
 mat pinverse = pinv(A); 
 A.print("A=");
 return 0;

  }
4

2 回答 2

0

首先,你有 LAPACK 库吗?如果没有,请购买一个(有多种实现可供选择)。否则,请检查该库的文档或自述文件。这里没有特定于 Visual C++ 的内容。

通常所需要的只是:将“lapack.lib”添加到链接器输入(在项目设置中)。

于 2010-01-31T18:40:30.520 回答
0

为了使用 LAPACK,假设您将库链接到您的项目,您还需要取消注释 Armadillo 的 config.hpp 中的#define ARMA_USE_LAPACK。BLAS 也是如此。

于 2011-10-26T04:37:24.733 回答