1

線形代数の計算にオープンソースライブラリhttp://arma.sourceforge.netを使用しようとしています。pinvのようなArmadilloの関数のいくつかは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 を使用するには、ライブラリをプロジェクトにリンクすると仮定して、Armadillo の config.hpp で #define ARMA_USE_LAPACK のコメントを解除する必要もあります。BLASも同様です。

于 2011-10-26T04:37:24.733 に答える
0

まず最初に、LAPACK ライブラリはありますか? そうでない場合は、1 つ取得します (選択する実装は多数あります)。それ以外の場合は、そのライブラリのドキュメントまたは readme を確認してください。ここでは、Visual C++ に固有のものは何もありません。

通常必要なのは、「lapack.lib」をリンカー入力 (プロジェクト設定) に追加することだけです。

于 2010-01-31T18:40:30.520 に答える