架构armv7错误的重复符号

问题描述 投票:0回答:3

我的 swift 项目中有一个旧类“Approval.swift”

我在核心数据中添加了 NSManagedObject (Approval),并为该实体创建了同名的 NSManagedObject 子类 (Approval.swift)

然后我将实体名称更改为“ApprovalObject”,并将关联的类更改为 ApprovalObject.swift,以将其与旧类“Approval.swift”区分开来

当我尝试运行该项目时,出现此错误

重复符号 _OBJC_METACLASS_$_Card 位于: /Users/MyUser/Library/Developer/Xcode/DerivedData/MyProject-czluntwgoefegbeilusmojsyejlc/Build/Intermediates/MyProject.build/Debug-iphoneos/MyProject.build/Objects-normal/armv7/ApprovalObject.o /Users/MyUser/Library/Developer/Xcode/DerivedData/MyProject-czluntwgoefegbeilusmojsyejlc/Build/Intermediates/MyProject.build/Debug-iphoneos/MyProject.build/Objects-normal/armv7/Card.o 重复符号 _OBJC_CLASS_$_Card 位于: /Users/MyUser/Library/Developer/Xcode/DerivedData/MyProject-czluntwgoefegbeilusmojsyejlc/Build/Intermediates/MyProject.build/Debug-iphoneos/MyProject.build/Objects-normal/armv7/ApprovalObject.o /Users/MyUser/Library/Developer/Xcode/DerivedData/MyProject-czluntwgoefegbeilusmojsyejlc/Build/Intermediates/MyProject.build/Debug-iphoneos/MyProject.build/Objects-normal/armv7/Card.o

ld:架构armv7 clang的2个重复符号:错误:链接器 命令失败,退出代码为 1(使用 -v 查看调用)

有人可以帮我解决这个错误吗? 非常感谢

ios swift xcode core-data
3个回答
28
投票

我在 Xcode 8 下新创建的应用程序遇到了相同类型的错误。经过大量调查,我发现参考了“构建阶段 -> 编译源”下的条目,其中我发现除了 .m 文件之外还包含数据模型。删除此错误可清除错误,应用程序现在可以正常构建和运行。


0
投票

Duplicate symbols for architecture
主要的原因是您在项目中添加了相同的
.m
.o
文件两次。要解决该问题,只需检查链接器错误,就像您的情况所示,它显示
ApprovalObject
。然后就去
build phases
然后
compile sources
搜索指定的文件。


0
投票

我收到上述构建错误,因为我导入了 .m 文件而不是另一个 .m 文件中的 .h 文件

© www.soinside.com 2019 - 2024. All rights reserved.