我使用了以下内容:
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 :(得分:0)
您的“主要”签名应该是int main(void)
或int main(int argc ,char *argv[])
,而不是int Main()
的旧C样式语法。