架构 armv7 错误的重复符号
duplicate symbols for architecture armv7 Error
我的 swift 项目中有一个旧的 class "Approval.swift"
我在 Core Data 中添加了 NSManagedObject(批准),并为该实体
创建了具有相同名称 (Approval.swift) 的 NSManagedObject 子class
然后我将实体名称更改为 "ApprovalObject" 并将关联的 class 更改为 ApprovalObject.swift 以区别于旧的 class "Approval.swift"
当我尝试 运行 项目时,出现了这个错误
duplicate symbol _OBJC_METACLASS_$_Card in:
/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
duplicate symbol _OBJC_CLASS_$_Card in:
/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: 2 duplicate symbols for architecture armv7 clang: error: linker
command failed with exit code 1 (use -v to see invocation)
有人可以帮我解决这个错误吗?
非常感谢
Duplicate symbols for architecture
主要原因是您在项目中添加了两次相同的 .m
或 .o
文件。要解决此问题,只需检查链接器错误,就像您的情况一样,它显示 ApprovalObject
。然后只需转到 build phases
然后 compile sources
并搜索指定的文件。
我在 Xcode 8 下新创建的应用程序遇到了相同类型的错误。经过大量调查,我发现引用了构建阶段 -> 编译源下的条目,我发现其中包含数据模型除了 .m 文件。删除它清除了错误,应用程序现在可以正确构建和运行。
我出现上述构建错误是因为我在另一个 .m 文件中导入了一个 .m 文件而不是 .h 文件
我的 swift 项目中有一个旧的 class "Approval.swift"
我在 Core Data 中添加了 NSManagedObject(批准),并为该实体
创建了具有相同名称 (Approval.swift) 的 NSManagedObject 子class然后我将实体名称更改为 "ApprovalObject" 并将关联的 class 更改为 ApprovalObject.swift 以区别于旧的 class "Approval.swift"
当我尝试 运行 项目时,出现了这个错误
duplicate symbol _OBJC_METACLASS_$_Card in: /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 duplicate symbol _OBJC_CLASS_$_Card in: /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: 2 duplicate symbols for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)
有人可以帮我解决这个错误吗? 非常感谢
Duplicate symbols for architecture
主要原因是您在项目中添加了两次相同的 .m
或 .o
文件。要解决此问题,只需检查链接器错误,就像您的情况一样,它显示 ApprovalObject
。然后只需转到 build phases
然后 compile sources
并搜索指定的文件。
我在 Xcode 8 下新创建的应用程序遇到了相同类型的错误。经过大量调查,我发现引用了构建阶段 -> 编译源下的条目,我发现其中包含数据模型除了 .m 文件。删除它清除了错误,应用程序现在可以正确构建和运行。
我出现上述构建错误是因为我在另一个 .m 文件中导入了一个 .m 文件而不是 .h 文件