关于Linux gcc编译error:"collect2: ld returned 1 exit status"出错问题

本人为初学者,不对的地方欢迎指正。在编译项目是出现以上提示问题,查找很多资料以及搜索相关答案,主要出现的原因大致总结如下:

1.当编译出.o文件以后出现该问题,原因是因为只做了函数声明,未实现函数。我的错误就是这样引发的,但是粗心的我不仅仅是这样,因为的我的函数体实现了,却还报这样的问题,找了好久,原来是因为项目中使用了#ifdef xxx  #endif;因为未定义xxx,刚好将该函数注释掉了,如果有朋友发现自己声明了也实现了函数却出现此提示可以看一下是否被这种方法注释掉了,修改一个下午呢,血泪史,一定要铭记这种错误。。。。。。。

2.编译时未加入依赖文件,自己写的.c记得加进去,这种情况一般出现在没有用Makefile编译的场景,或者你的Makefile写的不够好。

3.部分需要在编译时链接相关库,按照错误提示链接上即可解决

4.如果以上都不是,大概是因为依赖文件的顺序编译出错,按照严格的依赖关系编译即可。大多比较严谨、优秀的Makefile是不会出现这种情况的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值