Dev C++编写C/C++程序 出现[Error] ld returned 1 exit status报错分析及解决
debug系列第一弹,不知道大家写程序的时候是不是都遇到过如题的报错。
我本人是经常遇到这行熟悉的令人不知所措的报错,可能是我太笨了
有时候百度无果也差不到原因,那就汇总一下目前我遇到的情况吧——持续更新
出现后这个报错信息,大体一看找不到问题,第一类建议:
1.可以把重启Dev C++
2.新建一个源代码将代码复制粘贴再运行试试
(虽然听起来很离谱,但是我真的出现过,记得很清楚就是,在这个文件怎么改都这个报错,新建一个copy过去就正常运行)
3.文件名改成英文,不要使用中文,也就是说,保证这个文件的路径是英文的。
因为我们的计算机处理中文的时候很容易出错的,不如使用英文。
(这个我没有出现过,经常网上冲浪看到有写到这个的,朋友帮忙看这个报错也提到了,先放在这里叭)
代码中原因分析:
1.上一个运行结果未关闭(这个是最常见的)
2.printf/scanf书写错误(C语言程序容易出这个问题)
3.程序没有 main( ) 主函数
4.自定义函数出现错误
4.1自定义函数声明部分书写错误
特别举例
函数声明如下:
void delete_string(string str,string substr);
在main函数后面的函数体:
void delete_string(string& str,string substr)
{
int len = substr.length() ;
int pos;
while(1)
{
pos = str.find(substr.c_str() ,0);
if(pos<0) break;
str.erase(pos,len);
}
}
有发现不同嘛,在函数声明的参数列表中第一个字符串变量漏了引用符&
4.2声明了自定义函数,却没写函数体,主函数调用了这个没写完的自定义函数
4.3使用函数模板的时候,建议直接把这个函数写在主函数前
如图,忽略函数内容,看函数体的位置以及报错信息

声明在前,函数位置后置,报错[Error] ld returned 1 exit status

如图,在主函数上方直接写完整个函数,正常运行
总结:
这些错误往往出现在并不起眼的地方,最常见的原因我觉得分为三类,
第一类:可以靠重启编译器、copy代码到新文件就解决的不明原因
第二类:在程序中出现的非智力因素的错误,像书写和单词拼写错误(我记得我有一次单词拼写错了就报错报的这个,好好学习英语叭)
第三类:我不明所以,半梦半醒的自定义函数部分很爱出这个报错好像,编写自定义函数的时候细心点叭(这也不是我想写好就写好的啊)
这些错误我都觉得属于看起来很离谱,不是很好查找原因的
这个报错信息也称得上是我最头疼的报错之一了,多积累经验吧,错个遍以后就知道可能哪出错了
Dev C++编写C/C++程序 出现[Error] ld returned 1 exit status报错分析及解决的更多相关文章
- Arduino上“Collect2.exe: error: ld returned 5 exit status”错误的解决方法
1.运行环境 Windows xp; Arduino1.6.11 IDE. 2.问题 在Arduino编译时,经常出现如下的错误: collect2.exe: error: ld returned 5 ...
- error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status
Windows服务器Azure云编译安装MariaDB教程 www.111cn.net 编辑:future 来源:转载 安装MariaDB数据库最多用于linux系统中了,下文给各位介绍在Window ...
- error: ld returned 1 exit status 和 error:undefined reference
undefined reference 往往是链接时出现错误,无法解析引用.这篇文章总结的很好undefined reference问题总结 error: ld returned 1 exit sta ...
- moc_XXXX.o:(.data.rel.ro._ZTI12CalculatorUI[_ZTI12CalculatorUI]+0x10): undefined reference to `typeinfo for QWidget' collect2: error: ld returned 1 exit status make: *** [Makefile:144: myCalculator]
main.cpp:(.text.startup+0x22): undefined reference to `QApplication::QApplication(int&, char**, ...
- DevC++出现[Error] ld returned 1 exit status,如何解决才好呢?
回答: 代码在vc中没问题,虽然没用过DevC++. 可以把 ld returned 1 exit status前面的详细出错说出来程序是没有问题的,可能的问题最有可能是以下2个1.是你的程序已经在运 ...
- gcc/g++ 编译时出现:“对’xxxx’未定义的引用,collect2: error: ld returned 1 exit status” 的错误
出现的问题: 在使用 make 编译实现一个程序时,出现了下面的错误.查看程序源文件所在的目录时发现程序已经完成了编译,并生成了 list_repo.o 的文件,说明是在程序链接生成可执行文件时发生了 ...
- c编译错误[Error] ld returned 1 exit status 解决
[Error] ld returned exit status 编译的过程中出现这个错误极有可能是因为函数名错误引起的,因此回到源码中观察函数名,尤其是那些库函数中的函数.
- 【DEV C++】 Error: ld returned 1 exit status
一般出现“ld returned 1 exit status”错误都是由于函数名称拼写错误造成的,或者在一个工程中不同的函数使用了同一个函数名,暂时还未遇到其他情况.
- error: ld returned 1 exit status 解决
1.程序未结束运行 2.全局变量冲突,不是宏定义冲突
随机推荐
- 基于Spring接口,集成Caffeine+Redis两级缓存
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 在上一篇文章Redis+Caffeine两级缓存,让访问速度纵享丝滑中,我们介绍了3种整合Caffeine和Redis作为两级缓存使用的方法,虽 ...
- eBPF Cilium实战(1) - 基于团队的网络隔离
在 Rainbond 集群中,每个团队对应于底层 Kubernetes 的一个 Namespace ,由于之前使用的底层网络无法进行 Namespace 级别的网络管理,所以在 Rainbond 同一 ...
- 三个步骤,从零开始快速部署LoRaServer
2021年11月29日,ITU(国际电信联盟)标准化部门正式批准了LoRa联盟立项的"ITU-T Y.4480 Low power protocolfor wide area wireles ...
- 导出带标签的tar包(docker)-解决导出不带标签的麻烦
需求:在docker的本地镜像库中导出tar包给其他节点使用. 如果使用:docker save -o package.tar e82656a6fc 这样形式导出的tar包,安装之后标签会消失解决办法 ...
- python向上取整以50为界
import math def getNum(limit_num,num): if num%limit_num==0: print(num) else: num=math.ceil(num/limit ...
- nginx配置后端映射(反向代理proxy_pass)
说明:配置反向代理proxy_pass和location无关,location后面加不加 / 都可以 1.配置 proxy_pass 时,当在后面的 url 加上了 /,相当于是绝对路径,则 Ngin ...
- C# 利用.NET 升级助手将.NET Framework项目升级为.NET 6
概述 .NET6 正式版本已经发布有一阵子了,今天我就体验一下如何将.NET Framework的项目升级为.NET 6. 升级条件: Windows 操作系统 .NET 6 SDK Visual ...
- 2021.08.06 P3478 STA-Station(树形结构)
2021.08.06 P3478 STA-Station(树形结构) [P3478 POI2008]STA-Station - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 给 ...
- come on! 基于LinkedHashMap实现LRU缓存
/** * @Description 基于LinkedHashMap实现一个基于'LRU最近最少使用'算法的缓存,并且最多存MAX个值 * @Author afei * @date:2021/4/25 ...
- [STL] queue 队列 priority_queue 优先队列