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

如何修复Xcode C++项目中“1 duplicate symbol for architecture x86_64”错误

问题根因

你勾选了「For install builds only(仅安装构建生效)」复选框,因此你修改的「No common blocks」配置仅在执行安装构建时生效,日常调试、普通发布编译时仍默认使用Yes配置,导致修改不生效。你贴的静态成员变量声明、定义代码本身完全符合C++语法规范,不存在语法错误。

class a
{ 
public:
    static int b;
};
// 类外定义静态成员,为标准合法写法
int a::b;

解决步骤

  • 打开targets->Build settings->Apple Clang - Code Generation配置页,找到「No common blocks」配置项
  • 点击配置项左侧的展开箭头,可见「Debug」、「Release」、「For install builds only」三个子配置项
  • 将所有子配置项的「No common blocks」参数统一修改为No,不要仅修改全局默认配置
  • 配置修改完成后,按Command + Shift + K清理Xcode缓存,再重新构建项目即可

如果修改后仍存在链接报错,检查a::b的定义是否仅写在一个.cpp文件中,避免多个编译单元重复定义引发冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:45:03