VSCode右上角运行按钮无法运行C代码,Run Code功能可正常执行
C语言编译链接错误及运行差异问题
问题背景
我正在通过w3schools和YouTube上的Bro Code学习C语言,代码和教程完全一致,但遇到编译链接错误。同时存在奇怪现象:选中全部代码点击「Run Code」可正常运行,点击右上角运行按钮却无法执行。编译器是手动从winlibs安装的mingw-w64,自动安装时总是崩溃。
错误信息
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:1hr_in: file format not recognized; treating as linker script
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:1hr_in:4: syntax error
collect2.exe: error: ld returned 1 exit status
代码示例
#include <stdio.h> #include <math.h> int main(){ double A; double B; double C; printf("Enter Side A: "); scanf("%lf", &A); printf("Enter Side B: "); scanf("%lf", &B); C = sqrt(A*A + B*B); printf("Side C: %lf", C); return 0; }
解决方向
- 检查右上角运行按钮的配置:它可能使用了错误的编译命令,比如遗漏了链接数学库的
-lm参数(调用sqrt需要该参数),或者指定了无效的输入文件(错误信息里的1hr_in并非正常源文件/目标文件名,大概率是配置出错)。 - 对比两种运行方式的命令差异:查看「Run Code」和右上角按钮执行的具体编译命令,定位参数或文件路径的区别。
- 验证mingw-w64环境:确认编译器路径已正确添加到系统环境变量,且未与其他版本的gcc/mingw产生冲突。
- 清理临时文件:
1hr_in可能是某次编译遗留的损坏文件,删除项目目录下的.o、可执行文件等临时文件后重新尝试。
内容的提问来源于stack exchange,提问作者hasanfaesal
相关产品推荐
相关产品推荐

