我是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,为此,我在Eclipse的“路径和符号”选项卡中添加了指向LAPACKE头文件的路径。为了解决这个问题,有人能帮我做些什么吗?我应该错过一些东西..。
发布于 2021-01-28 00:36:51
我假设您使用的是gcc编译器。我猜您在编译参数中缺少-llapack标志。如果不起作用,可以试试-llapacke。这个标志(-l[LibraryName])告诉链接器使用外部二进制文件(参见:gcc: Difference between -L and -l option AND how to provide complete path to a library)。
查看这个问题,看看如何在Eclipse中添加编译器标志:How to add compiler options in Eclipse IDE
https://stackoverflow.com/questions/21945235
复制相似问题