【发布时间】:2015-06-13 07:52:17
【问题描述】:
我正在使用命令运行以下程序
gcc filename.c -o filename.exe
显示错误
“AppData/Local/Temp/cc4rF2ac.o:filename.c:(.text+0xd4): 对 LAPACKE_dgels'collect2.exe 的未定义引用:错误:ld 返回 1 个退出状态”
/* Calling DGELS using column-major order */
#include <stdio.h>
#include <stdlib.h>
#include <lapacke.h>
#include <math.h>
lapack_int main (int argc, const char * argv[])
{
double a[5*3] = {1,2,3,4,5,1,3,5,2,4,1,4,2,5,3};
double b[5*2] = {-10,12,14,16,18,-3,14,12,16,16};
lapack_int info,m,n,lda,ldb,nrhs;
int i,j;
m = 5;
n = 3;
nrhs = 2;
lda = 5;
ldb = 5;
info = LAPACKE_dgels(LAPACK_COL_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+ldb*j]);
}
printf("\n");
}
return(info);
}
【问题讨论】:
-
main的签名是
int main(int, char**);或int main(); -
如果这是 C 代码,为什么这个问题被标记为 C++?
-
用
gcc filename.c -o filename.exe -llapacke编译。 -
@gha.st 主要签名可能是
int main(int, const char**);或int main(int, const char* []);。它与这个问题没有联系。