You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Visual Studio编写C语言Hello World报undefined reference to `main'错误如何解决

错误本质

你遇到的undefined reference to main是GCC链接阶段的报错,C语言程序的默认执行入口是main函数,链接器扫描所有参与编译的源文件后,没有找到符合要求的main函数,就会抛出这个错误。

排查步骤
  • 先确认你写了main函数的代码是否成功保存在编译的目标文件中:你当前的编译指令编译的是/home/luca/c++/.vscode/test.c,你可以直接在终端执行以下命令查看磁盘上实际存储的test.c内容:
cat /home/luca/c++/.vscode/test.c

如果输出的内容和你写的代码不一致,说明你修改代码后没有保存,在编辑器按下Ctrl+S保存后重新编译即可。

  • 检查main函数拼写:确认你代码里的入口函数是小写的main,没有写成Mian、mian这类拼写错误。
  • 确认编译目标正确:如果你写代码的源文件不是test.c,现在的编译指令只会编译固定的test.c,自然找不到你写在其他文件里的main函数。
解决方法
  • 如果是文件没有保存的问题,保存后重新编译即可。
  • 如果是源文件名不匹配,可以手动修改编译指令中的源文件名,比如你的代码存在hello.c里,就用指令:
gcc hello.c -o hello && ./hello
  • 如果要让Visual Studio Code每次编译当前打开的文件,修改.vscode/tasks.json中的编译参数,把固定的test.c替换为变量${file},即可自动匹配当前编辑的源文件。

内容的提问来源于stack exchange,提问作者Drake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:15:01