zoukankan      html  css  js  c++  java
  • 011.Bug(duplicate symbol)_01

    1.

    <1.情境:在真机上一切ok,但是模拟器上报错如下(截取自认为有意义的一段)

    duplicate symbol __ZN9WavWriterD1Ev in:

        /Users/xiaoyadong/Library/Developer/Xcode/DerivedData/xiaoshouzhushou-fufyvysyodhmtkdzlivkuefbcsfv/Build/Intermediates/xiaoshouzhushou.build/Debug-iphonesimulator/xiaoshouzhushou.build/Objects-normal/x86_64/wav-A8225E4DB0C5B1B1.o

        /Users/xiaoyadong/Library/Developer/Xcode/DerivedData/xiaoshouzhushou-fufyvysyodhmtkdzlivkuefbcsfv/Build/Intermediates/xiaoshouzhushou.build/Debug-iphonesimulator/xiaoshouzhushou.build/Objects-normal/x86_64/wav-1F067EA0DBC29D79.o

    duplicate symbol __ZN9WavWriter9writeDataEPKhi in:

        /Users/xiaoyadong/Library/Developer/Xcode/DerivedData/xiaoshouzhushou-fufyvysyodhmtkdzlivkuefbcsfv/Build/Intermediates/xiaoshouzhushou.build/Debug-iphonesimulator/xiaoshouzhushou.build/Objects-normal/x86_64/wav-A8225E4DB0C5B1B1.o

        /Users/xiaoyadong/Library/Developer/Xcode/DerivedData/xiaoshouzhushou-fufyvysyodhmtkdzlivkuefbcsfv/Build/Intermediates/xiaoshouzhushou.build/Debug-iphonesimulator/xiaoshouzhushou.build/Objects-normal/x86_64/wav-1F067EA0DBC29D79.o

    ld: 9 duplicate symbols for architecture x86_64

    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    <2.错误分析

    由倒数第二句的error log中知道duplicate是错误的重要原因,猜测某个类文件重复

    3.错误解决

    然后就是蛋疼的过程,一个个排查看是哪个文件重复,最终找到wav.h和wav.mm并将其删除,重新cmd +R一切ok了.

    4.解决问题后的回头思考

    最初看到这个报错的时候,也曾想会具体指出是哪个文件重复了,而Xcode里的error log里的错误文件名全都不同,如:wav-A8225E4DB0C5B1B1.o & wav-1F067EA0DBC29D79.o & wav-A8225E4DB0C5B1B1.o & /wav-1F067EA0DBC29D79.o等九个文件名不同的文件,所以一下不知所措。现在回想TA们所有格式均为“wav-一串字符”,所以可以尝试搜索wav的。

  • 相关阅读:
    动态规划 ------最短路径问题
    回溯算法 ------回溯算法的设计思想和适用条件
    回溯算法 ------ 回溯算法的设计思想及适用条件
    回溯算法 ------回溯算法的几个例子
    纯css实现翻书效果
    从vue源码看props
    js循环中使用async/await踩过的坑
    js实现word转换为html
    从vue源码看Vue.set()和this.$set()
    微信、qq二次分享
  • 原文地址:https://www.cnblogs.com/juicecoffeetea/p/4710729.html
Copyright © 2011-2022 走看看