升级到xcode13后出现的问题Redefinition of 'hash<char>'

        这是一个很隐蔽,报的错误,令开发者非常难找到其中报错的真正原因,升级Xcode第一次遇到这种问题,在此记录一下,也希望遇到这种问题的兄弟,看到我写的文章,能够快速解决这种问题,一开始遇到这个问题,有种无从下手的感觉,


       图片的报错,让我一度以为是和C++有关的东西报错,从definition of ......来看是应该是定义重复了什么的,实际上也是定义重复了。不过会以为是和系统的东西重复定义,报错了。

      实际上不是,因为我的工程里面用到音视频的库,打包的.a库,一开始怀疑是这里有什么宏定义和系统的重复了,全局搜索也没搜到。后面和别的同事探讨了一下,新建一个工程,把工程有关的音视频的东西,导入到新的工程,一顿操作,没发现错误。觉得问题应该不是出现在音视频库了,就从工程里面的类开始找问题,也没发现什么定义重复的错误。最后发现可能头文件引用的问题,在.h文件里面导入了类的头文件,尝试改了一个之后,发现报错少了一个,就明白问题出现在这里了,但是这是在Xcode12里面没有报错的,编译器没报错,其实是有规范的,不能在.h文件里面导入类的头文件,只能进行声明,很多东西还是要按照苹果的规范来做,不然后面可能就会出问题,而且出现的报错令人很难找到问题


正确做法
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容