【问题标题】:c - Undefined reference to main - collect2: ld returned 1 exit statusc - 未定义对 main 的引用 - collect2: ld 返回 1 个退出状态
【发布时间】: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);
}

【问题讨论】:

标签: c lapack


【解决方案1】:

您缺少一个库。重新运行 GCC 添加 -llapacke :

gcc filename.c -o filename.exe -llapacke

假设您的库类似于 liblapacke.a 或 liblapacke.so。否则,重新运行添加 -lNAME,NAME 是你的 lib 文件的名称,不带“lib”和“.a”或“.so”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 2012-02-18
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    相关资源
    最近更新 更多