& quot; ошибка LINK2019: не устранена … & quot;

Я пытаюсь скомпилировать тестовую программу с использованием Visual Studio 2012, написанной на C ++, программа вычисляет обратное значение произвольной матрицы, используя Армадилло линейная алгебра библиотека. Для этого необходимо включить LAPACK в Armadillo config.h файл и ссылка на библиотеки / библиотеки в свойствах проекта (что я и сделал).

Я компилирую для 64-битной версии, поэтому я скачал подходящие библиотеки BLAS / LAPACK с Вот и связали проект VS против них. Сделав все это, я все еще получаю ошибки ссылки, пытаясь использовать Armadillo inv(...) метод следующим образом:

1>Matrix.obj : error LNK2019: unresolved external symbol dgetrf_ referenced in function "public: static double __cdecl arma::auxlib::det_lapack<double>(class arma::Mat<double> const &,bool)" (??$det_lapack@N@auxlib@arma@@SANAEBV?$Mat@N@1@_N@Z)
1>Matrix.obj : error LNK2019: unresolved external symbol dgetri_ referenced in function "void __cdecl arma::lapack::getri<double>(long *,double *,long *,long *,double *,long *,long *)" (??$getri@N@lapack@arma@@YAXPEAJPEAN00100@Z)

Кто-нибудь может дать мне небольшое указание на то, что я делаю неправильно? Спасибо заранее!

0

Решение

Примеры, предоставленные с Armadillo, должны быть собраны из коробки. Откройте файлы проекта в папке examples / example1_win32. Вы можете просто использовать их в качестве отправной точки для вашего кода.

В качестве альтернативы этот сайт может быть полезен: Броненосец с BLAS и LAPACK в 64-битных проектах Visual C ++

Использование 64-битных LAPACK и BLAS значительно быстрее, чем 32-битных версий. Вы также можете захотеть использовать Intel MKL, который обеспечивает высокоскоростную многоядерную реализацию LAPACK.

1

Другие решения

Других решений пока нет …