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

VS Code运行C语言Hello World代码出现arm64架构Undefined symbols报错

报错原因说明

该错误是Apple Silicon(M系列)芯片Mac编译C代码的高频问题,本质为编译链接阶段工具链未正确适配arm64架构。你提供的代码无语法错误,问题均出在编译环境或VS Code配置环节。

问题定位步骤
  • 打开终端进入代码保存目录,手动执行编译命令验证:clang -o hello hello.c(将hello.c替换为你的实际代码文件名)
    • 手动编译成功生成可执行文件:属于VS Code的C/C++插件配置错误
    • 手动编译也报相同错误:属于本地开发环境缺失或配置错误
解决方案

情况1:手动编译正常,VS Code运行报错

  1. 按下Command + Shift + P呼出VS Code命令面板
  2. 选择C/C++: 编辑配置(JSON),在打开的c_cpp_properties.json文件中,确认"arch"字段值为"arm64",若为"x86_64"则修改后保存
  3. 再次呼出命令面板,选择Tasks: 配置默认生成任务,选中C/C++: clang 生成活动文件
  4. 在自动生成的tasks.json文件的args数组中,添加-arch和arm64两个参数,参考配置如下:
"args": [
    "-fdiagnostics-color=always",
    "-arch",
    "arm64",
    "-g",
    "${file}",
    "-o",
    "${fileDirname}/${fileBasenameNoExtension}"
]
  1. 保存配置后按下Command + Shift + B执行编译任务,编译完成后即可正常运行程序。

情况2:终端手动编译也报错

  • 执行xcode-select --install安装Xcode命令行工具,按照弹窗提示完成安装
  • 安装完成后执行sudo xcodebuild -license accept同意工具许可协议
  • 执行which clang验证clang路径,正常返回值应为/usr/bin/clang,若返回其他路径则说明第三方工具链覆盖了系统默认clang,修改Shell配置文件(.zshrc/.bashrc)将/usr/bin路径放到PATH的最前列即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:57:01