gcc编译器编译时报错:
/usr/lib/gcc/x86_64-linux-gnu/5/…/…/…/x86_64-linux-gnu/crt1.o:在函数‘_start’中:(.text+0x20):对‘main’未定义的引用
出现这种问题可能是 你对没有main函数的静态库或动态库尝试编译成可执行文件。我在写makefile的时候对依赖库文件漏写了-c参数,导致其尝试编译链接为可执行文件,又因为没有main函数实现,所以报出了这样的错误。
gcc -c参数表示将源文件编译成目标文件,即.o结尾的文件, gcc -c test.c ------> test.o
而gcc不加参数的话,会将编译并尝试链接为可执行文件,而如果你仅仅只是静态库,没有main函数的话,那么就会链接失败,出现这样的错误。