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.全局变量冲突,不是宏定义冲突
随机推荐
- SpringBoot注解自动扫描-底层实现
分析上文Spring Boot快速入门 @SpringBootApplication public class HelloWorldApplication { public static void m ...
- 服务器的cpu 核心、线程
此版本有大范围改动,因为cpu作为一个大脑,所以更细致的进行了,相关的分析和阐述. 1.版本1. 2022.1.242.版本2: 2022.3.2 采集数据: ht2机器为物理机,cpu是4颗cpu, ...
- 帝国cms 7.5版列表页分页样式修改笔记
最近在用帝国改版我的个人博客站点,这个也是我第一次尝试用帝国来做博客,之前用过wordpress,每用一个新的程序,都会有些新的收获,也会学到一些新的东西. 在改用帝国之前,我也在网上大概了解了一下, ...
- JavaWeb学习day1-web入门&服务器安装
初步了解了web的发展历程,对比分析学习了动态页面与静态页面的优缺点. 选择安装使用最广泛的Tomcat 安装流程: 1.打开官网:https://tomcat.apache.org/ 2.选择下载版 ...
- shell语法习题练习进阶版
第4章 shell语法深度习题练习 4.1 使用if,case,函数的方法将服务改成system(centos6) 4.1.1 if方法 4.1.1.1 system实现 4.1.1.1.1 编写代码 ...
- 「Python实用秘技07」pandas中鲜为人知的隐藏排序技巧
本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第7期 ...
- PostgreSQL 数据库备份脚本
PostgreSQL 数据库备份脚本 #!/bin/bash # PG家目录(/opt/postgresql/pg96/) PG_HOME=${PGHOME} # pg数据库连接信息 PG_HOST= ...
- 将python脚本打包为exe可执行文件
技术背景 在很多情况下,编程人员是在Linux环境下完成的编程任务,但是更多的使用人员是在Windows环境下的,比方说,在参考链接1的文章中提到: 那么我们就不得不考虑一个环境转化的问题.pytho ...
- FATAL: using recovery command file "recovery.conf" is not supported
PostgreSQL12 附录 E. 版本说明 将recovery.conf设置移动到postgresql.conf中. (Masao Fujii, Simon Riggs, Abhijit Meno ...
- 02. 树莓派初始配置——安装rz命令
安装rz命令 如果你的ssh工具不带xftp文件上传功能,则需要安装使用ZMODEM协议的rz.sz命令. 1. 用root权限登录 2. 创建下载的目录地址(不创建也行,创建后方便以后文件管理) m ...