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

VSCode的WSL/Ubuntu环境下编译C代码遇`main`未定义引用错误求助

解决编译时"undefined reference to `main'"错误的方法

首先你的代码存在语法错误,这是导致链接器找不到main函数的核心原因:

  • printf语句的字符串未正确闭合,你直接在字符串内换行,且把, name写在了字符串引号外部,这会让编译器无法正确解析main函数的完整结构,最终导致链接阶段找不到main符号。

修正后的代码

#include <stdio.h>
#include "cs50.h"

int main(void)
{
    string name = get_string("What is your name: ");
    printf("hello, %s\n", name);
}

修正点说明:

  • 将字符串内的换行替换为转义字符\n
  • 把, name移到字符串闭合引号外,作为printf的第二个参数

重新编译

保存修正后的代码后,再次执行编译命令:

clang -o hello2 hello2.c -lcs50

即可正常生成可执行文件。

如果仍有问题,确认当前目录下的hello2.c确实是修改后的版本,没有保存失败的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:37:03