Как использовать LAPACK в проекте Visual Studio 2008 с использованием Armadillo - PullRequest
1 голос
/ 31 января 2010

Я пытаюсь использовать библиотеку с открытым исходным кодом http://arma.sourceforge.net для расчетов по линейной алгебре. Некоторые функции в Armadillo, такие как 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;

  }

Ответы [ 2 ]

0 голосов
/ 26 октября 2011

Чтобы использовать LAPACK, предполагая, что вы связываете библиотеки с вашим проектом, вам также нужно раскомментировать #define ARMA_USE_LAPACK в config.hpp от Armadillo. То же самое относится и к BLAS.

0 голосов
/ 31 января 2010

Перво-наперво, у вас есть библиотека LAPACK? Если нет, получите один (есть несколько реализаций на выбор). В противном случае, проверьте документацию этой библиотеки или readme. Здесь нет ничего конкретного для Visual C ++.

Обычно все, что нужно, это: добавить «lapack.lib» к входу компоновщика (в настройках проекта).

...