-ObjC引起的duplicate symbols
来源:互联网 发布:消原音软件 编辑:程序博客网 时间:2024/06/09 17:28
在使用了静态库的情况下,如果在工程里需要设置-ObjC,可能出现
<span style="font-size:14px;">duplicate symbol _OBJC_METACLASS_$_ReliableBurstData in: /Users/work/GP/GSDKDemo/Demo/... /Users/work/GP/GSDKDemo/GSDK.a/...ld: 47 duplicate symbols for architecture arm64clang: error: linker command failed with exit code 1 (use -v to see invocation)</span>在Build Phases
Link Binary With Libraries 删除冲突的库
Compile Sources 删除冲突的源码
即可编译成功
原因分析:
Other linker flags 对应ld命令执行时后面所加的参数
-ObjC:链接器就会把静态库中所有的.o文件都加载到可执行文件中(如果库中和加载库的程序有重复的文件,便会出现如上错误)
-all_load:会让链接器把所有找到的目标文件都加载到可执行文件中
-force_load:所做的事情跟-all_load其实是一样的,但是-force_load需要指定要进行全部加载的库文件的路径,这样的话,你就只是完全加载了一个库文件,不影响其余库文件
解决办法:
- 加载方去除重复资源
- 不使用-ObjC
0 0
- -ObjC引起的duplicate symbols
- xcode duplicate symbols lipo
- xx duplicate symbols for architecture i386的问题
- 【Xcode】非Objc文件(c, c++)引起的NSObjCRuntime错误
- 非Objc文件(c, c++)引起的NSObjCRuntime错误
- 非Objc文件(c, c++)引起的NSObjCRuntime错误
- duplicate symbols for architecture armv6
- duplicate symbols for architecture i386
- duplicate symbols for architecture arm64
- duplicate symbols for architecture armv7
- duplicate symbols for architecture x86_64
- duplicate symbols for architecture x86_64
- duplicate symbols for architecture x86_64
- duplicate symbols for architecture i386
- duplicate symbols for architecture i386
- duplicate symbols for architecture x86_64
- duplicate symbols for architecture x86_64
- duplicate symbols for architecture x86_64
- JPA的注解的基本使用
- C语言基础
- 二进制转八进制vb6程序
- 从源码上理清springmvc用注解方式使用的流程脉络(上)
- '调用K3组件反审核单据
- -ObjC引起的duplicate symbols
- oracle客户端NLS_LANG的设置
- ORACLE如何使用DBLINK连接另一个数据库[整理]
- 在OpenCV中图像边界扩展 copyMakeBorder 的实现
- spring aop源码分析
- CSS3学习(十) 细节补充:统一input高度
- 数据库 for update of 和 for update区别。
- iOS_笔记
- AngularJS与RequireJS集成方案