Redefinition of enumerator 'xx'错误总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redefinition of enumerator 'xx'错误总结相关的知识,希望对你有一定的参考价值。

参考技术A 按照Redefinition错误总结是重复定义问题。本人进行了一下几种尝试:

1.删除重复文件即可。(对于我来说没有用,搜索了整个项目也没有发现有重复文件)

2.导入文件有误,报错文件删除重新导入。(并没有任何效果)

进行上次两种尝试后,依然没有解决我的问题。

没办法,采用最笨的方法,把同事提交的记录对比了一下,发现某一个工程配置改动了。删掉问题就解决了。

附上截图:

讲recursive换成non-recursive即可解决问题,或者直接删掉就好。

Xcode8之后 XMPP 重定义问题 Redefinition of module 'dnssd'

在升级Xcode到8之后,原来的关于XMPP的项目运行报错,错误信息为: Redefinition of module ‘dnssd‘

技术分享

系统和XMPP框架同时用到了 ‘dnssd‘,大概就是错误的原因。

网上关于这方面的信息不多,但是还是在 stackoverflow 中找到了一些信息,原文链接:http://stackoverflow.com/questions/39930741/redefinition-of-module-dnssd-in-swift-3。

解决方案:# The version pushed to CocoaPods is very out of date, use master branch for now 
pod ‘XMPPFramework‘, :git => "https://github.com/robbiehanson/XMPPFramework.git", :branch => ‘master‘
#pod ‘XMPPFramework‘,大概意思是需要更新XMPP框架,需要把podfile文件中的 "pod ‘XMPPFramework‘,        ‘~> 3.6.6‘  "用 " # The version pushed to CocoaPods is very out of date, use master branch for now
pod ‘XMPPFramework‘, :git => "https://github.com/robbiehanson/XMPPFramework.git", :branch => ‘master‘
# pod ‘XMPPFramework‘ " 来替换或者直接改成 "pod ‘XMPPFramework‘,        ‘~> 3.7.0‘  "。

 

在pod update的过程中有的童鞋会遇到下面这样的错误:

技术分享

这个是因为更新的XMPP框架中支持的最低版本为iOS 8.0 / macOS 10.8.

The minimum deployment target is iOS 8.0 / macOS 10.8.

所有需要把podfile中的 "platform:ios,"7.0" " 7.0改为8.0以上。

等了好久终于等到pod更新完成了,可是运行项目又出现了一堆错误,不,是一大堆错误。

技术分享

别着急,pod更新之后会遇到这种问题,到报错的工程里面搜一下Enable Strict Checking of objc_msgSend Calls,改成相反的值就行了,别改没有报错的工程。

改完之后的错误明显减少了,可是还是有错误,如下:

技术分享

Module ‘KissXML‘ not found 找不到了,解决方案是用 #import "DDXML.h" 替换 @import KissXML;

这个替换完了还有错误

技术分享

CocoaAsyncSocket 又找不到了...,这里用@class GCDAsyncSocket; 替换@import CocoaAsyncSocket;

原文链接http://mp.weixin.qq.com/s/mvYY6w9gRt5_H-JEzZqY1A  

以上是关于Redefinition of enumerator 'xx'错误总结的主要内容,如果未能解决你的问题,请参考以下文章

为啥会出现这样的错误提示“redefinition of formal parameter 'c' ”。

Xcode8之后 XMPP 重定义问题 Redefinition of module 'dnssd'

c++求大神帮我看看为啥这个程序运行不了?关于图形工厂总是出现redefinition of 'class BaseShape'

redefinition and override

ORACLE:在 dbms_redefinition 后删除临时表时出错

DBMS_REDEFINITION.start_redef_table 的权限不足错误