gcc编译:/usr/lib/gcc/x86_64-linux-gnu/5/x86_64-linux-gnu/crt1.o:在函数‘_start’中:(.text+0x20):对‘main’未定义引用

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函数的话,那么就会链接失败,出现这样的错误。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值