collect2: error: ld вернул 1 состояние выхода [duplicate]

0

Я использовал следующее:

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);
    }
}
  • 0
    Это должно быть main не Main
  • 1
    Main() -> int main(void)
Показать ещё 10 комментариев
Теги:

1 ответ

0

Ваша "основная" подпись должна быть чем-то вроде int main(void) или int main(int argc ,char *argv[]) а не синтаксисом стиля C для int Main().

  • 0
    "а не старый синтаксис в стиле C ..." ?!? Хм что?
  • 1
    Старый синтаксис в стиле C не позволяет использовать int Main()
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню