use*_*120 52 c compiler-errors
我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("\n\na");
break;
case 2:
printf("\nb\n");
break;
case 3:
printf("\nc");
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我得到了这个:
main.c:(.text+0x33): undefined reference to `clrscr'
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
这是什么意思?
Woj*_*wka 68
"ld返回1退出状态"错误是先前错误的结果.在你的例子中有一个早期的错误 - "对'clrscr'的未定义引用" - 这是真实的错误.退出状态错误只表示构建过程中的链接步骤遇到了一些错误.通常退出状态0表示成功,退出状态> 0表示错误.
在构建程序时,可以将多个工具作为单独的步骤运行,以创建最终的可执行文件.在您的情况下,其中一个工具是ld,它首先报告它找到的错误(clrscr引用丢失),然后它返回退出状态.由于退出状态> 0,表示错误并报告.
在许多情况下,工具以退出状态返回它们遇到的错误数.因此,如果ld工具发现两个错误,其退出状态将为2.
faz*_*oso 12
在您的情况下,您可以参考缺失的符号.但在某些情况下,ld不会提供错误信息.
如果要扩展ld提供的信息,只需将以下参数添加到$(LDFLAGS)
-Wl,-V
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
354027 次 |
| 最近记录: |