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报错分析及解决的更多相关文章

  1. Arduino上“Collect2.exe: error: ld returned 5 exit status”错误的解决方法

    1.运行环境 Windows xp; Arduino1.6.11 IDE. 2.问题 在Arduino编译时,经常出现如下的错误: collect2.exe: error: ld returned 5 ...

  2. 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 ...

  3. error: ld returned 1 exit status 和 error:undefined reference

    undefined reference 往往是链接时出现错误,无法解析引用.这篇文章总结的很好undefined reference问题总结 error: ld returned 1 exit sta ...

  4. 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**, ...

  5. DevC++出现[Error] ld returned 1 exit status,如何解决才好呢?

    回答: 代码在vc中没问题,虽然没用过DevC++. 可以把 ld returned 1 exit status前面的详细出错说出来程序是没有问题的,可能的问题最有可能是以下2个1.是你的程序已经在运 ...

  6. gcc/g++ 编译时出现:“对’xxxx’未定义的引用,collect2: error: ld returned 1 exit status” 的错误

    出现的问题: 在使用 make 编译实现一个程序时,出现了下面的错误.查看程序源文件所在的目录时发现程序已经完成了编译,并生成了 list_repo.o 的文件,说明是在程序链接生成可执行文件时发生了 ...

  7. c编译错误[Error] ld returned 1 exit status 解决

    [Error] ld returned exit status 编译的过程中出现这个错误极有可能是因为函数名错误引起的,因此回到源码中观察函数名,尤其是那些库函数中的函数.

  8. 【DEV C++】 Error: ld returned 1 exit status

    一般出现“ld returned 1 exit status”错误都是由于函数名称拼写错误造成的,或者在一个工程中不同的函数使用了同一个函数名,暂时还未遇到其他情况.

  9. error: ld returned 1 exit status 解决

    1.程序未结束运行 2.全局变量冲突,不是宏定义冲突

随机推荐

  1. FastAPI(七十)实战开发《在线课程学习系统》接口开发--留言功能开发

    在之前的文章:FastAPI(六十九)实战开发<在线课程学习系统>接口开发--修改密码,这次分享留言功能开发 我们能梳理下对应的逻辑 1.校验用户是否登录 2.校验留言的用户是否存在 3. ...

  2. 10. MySQL基础-02条件查询、排序查询

    2. 条件查询 语法 ​ select 查询列表 from 表名 where 筛选条件: 分类 按条件表达式筛选 简单的条件运算符:> < = != <> >= ⇐ 按逻 ...

  3. HCIE笔记-第八节-传输层协议

    传输层:实现"端到端"的服务 应用到应用 端口 = port [逻辑端口] 基于应用级别的互访,就是 端口到端口的互访. 传输层 = 0-65535[端口范围] === TCP/U ...

  4. HCIE笔记-第一节-网络的基本概念

    R&S= 路由交换 Datacom =数通 =数据通信 某个设备产生了数据之后,借助整体的网络到达目的地的过程. 网络历史 -- 数通为什么产生? 1946年:世界上第一台计算机诞生.军事 科 ...

  5. .NET 7 Preview 3添加了这些增强功能

    .NET 7 Preview 3 已发布, .NET 7 的第三个预览版包括对可观察性.启动时间.代码生成.GC Region.Native AOT 编译等方面的增强. 有兴趣的用户可以下载适用于 W ...

  6. input 标签的 pattern 属性

    定义和用法 pattern 属性规定用于验证输入字段的模式. 模式指的是正则表达式. 注释:pattern 属性适用于以下 <input>类型:text, search, url, tel ...

  7. XCTF练习题---MISC---wireshark1

    XCTF练习题---MISC---wireshark1 flag:flag{ffb7567a1d4f4abdffdb54e022f8facd} 解题步骤: 1.观察题目,下载附件 2.得到一个wire ...

  8. vmware安装或卸载时,显示无法打开注册表项

    ​ vmware卸载是出了名的臭名昭著,因为太难删干净了,删不干净又会有各种各样的问题.比如下文这个"无法打开注册表项" 这个我相信有很多人在重装vmware的时候遇到过,因此我来 ...

  9. Linux学习教程 | 全文目录

    本教程最大的特点是通俗易懂,并且非常详细,花费 7 天时间即可快速了解 Linux. 第一章 Linux简介 1.1 操作系统是什么,操作系统概述 1.2 Linux是什么,有哪些特点? 1.3 Li ...

  10. 1.8 常见Linux发行版本有哪些?

    新手往往会被 Linux 众多的发行版本搞得一头雾水,我们首先来解释一下这个问题. 从技术上来说,李纳斯•托瓦兹开发的 Linux 只是一个内核.内核指的是一个提供设备驱动.文件系统.进程管理.网络通 ...