collect2:错误:ld返回1退出状态

时间:2014-11-18 11:52:36

标签: c++ c

我使用了以下内容:

gcc -c -O4 ab_test.c 

这工作并生成ab_test.o没有错误,但是

gcc -o ab_test ab_test.o -lgsl -lgslcblas -lm 

导致错误:

**/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/crt1.o: In function `_start':
/home/abuild/rpmbuild/BUILD/glibc-2.18/csu/../sysdeps/x86_64/start.S:118: undefined reference to `main'
collect2: error: ld returned 1 exit status**

代码是ab_test.c,如

所示
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <gsl/gsl_rng.h>
#include <gsl/gsl_randist.h>


Main()
{
  int i, temp_int;
  char amode[30];
  char bmode[30];
  float wave_vector_y;
for(i=0; i<41; i++)
    {
        //// set wave vector ////
        wave_vector_y = i*0.005;    

        temp_int = 10000*wave_vector_y;
        sprintf(amode,"a%04d.dat",temp_int);
        sprintf(bmode,"b%04d.dat",temp_int);
    }
}

1 个答案:

答案 0 :(得分:0)

您的“主要”签名应该是int main(void)int main(int argc ,char *argv[]),而不是int Main()的旧C样式语法。