Я использовал следующее:
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);
}
}
Ваша "основная" подпись должна быть чем-то вроде int main(void)
или int main(int argc ,char *argv[])
а не синтаксисом стиля C для int Main()
.
int Main()
main
неMain
Main()
->int main(void)