Duplicate Symbols for Architecture arm64报错问题解决方案

5 篇文章 1 订阅

          一般这个报错目前很少出现了,出现大多数情况意味着有重复的文件,所以可以优先从这里入手查询,比如笔者就是在和cocos creator项目融合集成是出现的此问题,cocos项目生成原生的iOS底包后会自动包含了socketRocket、SocketIO等websocket包,而本项目恰好需要,之前没看底包中的内容,直接pod导入了socketrocket,xcode12没明显报错,编译时报此错误,思考了下近期修改的就是增加了个socketrocket,因此全局一搜索发现cocos底包中也存在老版本的socketRocket,意外发现SocketIO也存在,不得不说这个cocos底包太臃肿啥都有。一开始为了开发速度果断去掉了自己pod的socketRocket,引用已有的SDK,项目稳定后把cocos生成的C++底包做了一次筛查和优化。回归正题,出现以上问题检查下面几步没错:

1.查看被编译的文件中是否有重复的(如果有文件显示红色一般是编译器没有找到的文件)。
进入Target->Build Settings->Compile Sources下,查看是否有异常文件。

2.检查是否在#import头文件的时候,不小心把.h写成了.m。

3.进入Target->Build Settings->Apple LLVM 9.0-Code Generation下,将No Common Blocks设置为NO。
xcode 10以后 在Target->Build Settings->Apple Clang - Code Generation下,将No Common Blocks设置为NO。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值