我看到错误collect2: error: ld returned 1 exit status
经常collect2: error: ld returned 1 exit status
。 例如,我正在执行以下代码片段:
void main() { char i; printf("ENTER i"); scanf("%c",&i); clrscr(); switch(i) { default: printf("nHi..n"); break; case 1: printf("nna"); break; case 2: printf("nbn"); break; case 3: printf("nc"); break; } }
我得到了这个:
main.c:(.text+0x33): undefined reference to `clrscr' collect2: error: ld returned 1 exit status
这是什么意思?
“ld返回1退出状态”错误是先前错误的结果。 在你的例子中有一个早期的错误 – “对’clrscr’的未定义引用” – 这是真实的错误。 退出状态错误仅表示构建过程中的链接步骤遇到一些错误。 通常退出状态0表示成功,退出状态> 0表示错误。
在构建程序时,可以将多个工具作为单独的步骤运行,以创建最终的可执行文件。 在你的情况下,其中一个工具是ld ,它首先报告它找到的错误(clrscr引用丢失),然后它返回退出状态。 由于退出状态> 0,表示错误并报告。
在许多情况下,工具以退出状态返回它们遇到的错误数。 因此,如果ld工具发现两个错误,其退出状态将为2。
在您的情况下,您可以参考缺失的符号。 但在某些情况下,ld不会提供错误信息。
如果要扩展ld提供的信息,只需将以下参数添加到$(LDFLAGS)
-Wl,-V
clrscr
不是标准的C函数。 根据互联网,它曾经是旧Borland C的东西。
是clrscr(); C ++中的函数?
包括: #include
并使用System("cls")
而不是clrscr()
需要了解更多c/c++开发分享“collect2:error:ld返回1退出状态”是什么意思?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!
以上就是c/c++开发分享“collect2:error:ld返回1退出状态”是什么意思?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/980583.html