Связывание 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