Связывание LAPACKE и Eclipse в Ubuntu

Я новичок в C++, и я использую Eclipse для написания сценария. Моя ОС - Ubuntu. Мне нужно частично использовать пакет LAPACKE для моего кода. Однако я не могу связать Eclipse и LAPACKE. Я пытаюсь скомпилировать следующий пример кода:

#include <stdio.h>
#include <lapacke.h>

int main (int argc, const char * argv[])
{
double a[5][3] = {1,1,1,2,3,4,3,5,2,4,2,5,5,4,3};
double b[5][2] = {-10,-3,12,14,14,12,16,16,18,16};
lapack_int info,m,n,lda,ldb,nrhs;
int i,j;

m = 5;
n = 3;
nrhs = 2;
lda = 3;
ldb = 2;

info = LAPACKE_dgels(LAPACK_ROW_MAJOR,'N',m,n,nrhs,*a,lda,*b,ldb);

for(i=0;i<n;i++)
{
   for(j=0;j<nrhs;j++)
   {
      printf("%lf ",b[i][j]);
   }
   printf("\n");
}
return(info);
}

Я не могу скомпилировать код, так как мой Eclipse выдает ошибку: "Неопределенная ссылка на LAPACKE_dgels". Я попытался связать Eclipse с LAPACKE, для чего я добавил путь к заголовочным файлам LAPACKE на вкладке "Пути и символы" в Eclipse. Может кто-нибудь помочь с тем, что мне нужно сделать, чтобы решить эту проблему? Я должен что-то упустить...

1 ответ

Я предполагаю, что вы используете компилятор gcc. Я думаю, тебя не хватает -llapackфлаг в аргументах компиляции. Если это не работает, попробуйте -llapacke. Этот флаг ( -l[LibraryName]) указывает компоновщику использовать внешние двоичные файлы (см.: gcc: разница между параметрами -L и -l И как указать полный путь к библиотеке ).

Проверьте этот вопрос, чтобы узнать, как добавить флаги компилятора в Eclipse: Как добавить параметры компилятора в Eclipse IDE

Другие вопросы по тегам