为什么C语言编译时反复出现collect2.exe: error: ld returned 1 exit status错误
问题原因与解决方案
你遇到的报错本质是链接器找不到程序的入口函数,原因非常简单:你把C语言规定的默认入口函数名main拼写错误,写成了mian。
编译器在编译你的代码时,会把你写的mian当成一个普通的自定义函数处理,而程序运行需要的标准入口函数main不存在,链接阶段就会报错找不到入口,最终抛出collect2.exe: error: ld returned 1 exit status错误。你换IDE、重装编译器都解决不了,因为问题完全出在代码的拼写错误上,和工具链无关。
修复方法
把代码里的
int mian(){
改成
int main(){
保存后重新编译运行即可,其余代码不需要改动。
额外排查方向(如果修改后仍然报错)
- 检查是否有同名的
arrays.exe程序正在后台运行,占用了文件导致编译器无法写入新的可执行文件,关掉正在运行的程序再重新编译即可 - 检查你的代码文件名有没有使用中文、空格或者特殊字符,尽量只用英文、数字和下划线命名
内容的提问来源于stack exchange,提问作者Darshika Jadhav
相关产品推荐
相关产品推荐

