今天分析一下duplicate symbols for architecture x86_64错误  也是困扰我一段时间   不过很幸运 在半个小时内找到了解决方案

百度上对于duplicate symbols for architecture x86_64这种错误最多的两种解决方法是:

第一:有框架文件没有包含,导入错误即解决
第二:是由于我的粗心,在导入头文件时不小心把.h导入了.m文件,所以出现了上述错误,有一个duplicate的错误提示,修改了导入部分OK了。

但是。。我却遇到了第三种情况。。

duplicate symbol _RoutePlanningViewControllerStartTitle in:

/Users/axc_5324/Library/Developer/Xcode/DerivedData/health_town-arzecxyrnmmpyxacejwclxojeaml/Build/Intermediates/health town.build/Debug-iphonesimulator/health town.build/Objects-normal/x86_64/MyTabbarViewController.o

/Users/axc_5324/Library/Developer/Xcode/DerivedData/health_town-arzecxyrnmmpyxacejwclxojeaml/Build/Intermediates/health town.build/Debug-iphonesimulator/health town.build/Objects-normal/x86_64/NavigationViewController.o

duplicate symbol _RoutePlanningViewControllerDestinationTitle in:

/Users/axc_5324/Library/Developer/Xcode/DerivedData/health_town-arzecxyrnmmpyxacejwclxojeaml/Build/Intermediates/health town.build/Debug-iphonesimulator/health town.build/Objects-normal/x86_64/MyTabbarViewController.o

/Users/axc_5324/Library/Developer/Xcode/DerivedData/health_town-arzecxyrnmmpyxacejwclxojeaml/Build/Intermediates/health town.build/Debug-iphonesimulator/health town.build/Objects-normal/x86_64/NavigationViewController.o

duplicate symbol _RoutePlanningPaddingEdge in:

/Users/axc_5324/Library/Developer/Xcode/DerivedData/health_town-arzecxyrnmmpyxacejwclxojeaml/Build/Intermediates/health town.build/Debug-iphonesimulator/health town.build/Objects-normal/x86_64/MyTabbarViewController.o

/Users/axc_5324/Library/Developer/Xcode/DerivedData/health_town-arzecxyrnmmpyxacejwclxojeaml/Build/Intermediates/health town.build/Debug-iphonesimulator/health town.build/Objects-normal/x86_64/NavigationViewController.o

ld: 3  duplicate symbols for architecture x86_64

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

有道给我的翻译是这样的:重复的路线规划视图控制器开始象征冠军 = =。。玛德制杖

不过也比较清楚 。。。某个controller出现了问题  出现了导入重复错误。

可是!他喵的我检查了半天也!没!有!导!入!错!误!

经过代码的一步步排查(还好我从小养成了良好的编码风格,要么光找就得找一天)。。发现了这么三个奇(sha)葩(bi):

这是高德SDK里的路径导航用到的变量值,当时直接复制过来的。。没管那么多,谁知道这时候掉链子了

我盯着他看了半天,他盯着我看了半天。大眼盯小眼看了三分钟,,,,,

嗯,delete(去死吧你!)

然后把他们声明到了interface里去,赋值在view did load中进行  假装这是普通变量

编译,,成功!

我也不知道为什么高德2015年的SDK Demo为啥不会出错,哦对  忘了说了  这个情况在真机上正常  但无法在模拟器中编译

以上就是对于duplicate symbols for architecture x86_64这种报错的第三种解决办法,,可以检查检查代码中有没有声明的弱语法变量,而且还没有编译器的提示的那种。。最后最重要的一点 大家不要随便命名!不要随便命名!不要随便命名!否则很容易和SDK中的对象或变量重名!

毕竟SDK不会告诉你他用了那些第三方库是不是?这样很没B格的好吧。。所以命名最好按照规范命名。

祝大家编程愉快!

【axc】关于duplicate symbols for architecture x86_64错误的第三种可能及其解决办法的更多相关文章

  1. iOS之duplicate symbols for architecture x86_64错误

    在我们写代码过程中可能会经常遇到这样一个错误: <span style="font-size:32px;color:#ff0000;">ld: 4 duplicate  ...

  2. iOS开发之duplicate symbols for architecture x86_64错误

    [主要内容:] 1. 错误提示 2. 分析错误原因 3. 解决问题办法 一.错误提示   在我们写代码过程中可能会经常遇到这样一个错误: <span style="font-size: ...

  3. 解决duplicate symbols for architecture x86_64错误

    duplicate symbols for architecture x86_64 两个不第三方SDK之间的文件里面内容重复了,类似 file.h+file.m 和 CHfile.h+CHfile.m ...

  4. error===>ld: 2 duplicate symbols for architecture x86_64

    一,经历 1> 出现了以下错误,感觉像是GiftAnimationView文件的问题 /Users/liuzhu/Library/Developer/Xcode/DerivedData/test ...

  5. 【iOS】duplicate symbols for architecture x86_64

    今天遇到了这个问题,错误如下: duplicate symbol _OBJC_IVAR_$_BCViewController.bank in: /Users/***/Library/Developer ...

  6. Xcode中 xx duplicate symbols for architecture i386错误提示

    今天在编译iOS项目时Xcode报如下错误: ld: 15 duplicate symbols for architecture i386 clang: error:linker command fa ...

  7. iOS开发-编译出错 duplicate symbols for architecture x86_64

    今天对原来项目文件进行重新整理,根据文件内容进行分类,结果复制粘贴时没注意把一个文件复制了两遍 编译的时候就出现Duplicate Symbol Error 在网上搜素了一圈发现也有人遇到过这个问题, ...

  8. 用xcode6.3编译早期工程时出现Undefined symbols for architecture x86_64错误的解决办法(转)

    Xcode升级到5.1 新特性之一就是默认让所有App都通过64位编译器编译.原来在Xcode5.0.x的时候默认的Standard architectures只有(arm7,armv7s),到5.1 ...

  9. ios开发错误之: Undefined symbols for architecture x86_64

    错误如下: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_RoutingHTTPServer", refere ...

随机推荐

  1. Wiki上的Ue4文件结构以及命名规范

    https://wiki.unrealengine.com/Assets_Naming_Convention

  2. IDE-Sublime【1】-JsFormat插件格式化缩进问题

    JsFormat插件格式化Javascript代码的快捷键是ctrl+alt+f,发现默认缩进2个空格,但习惯上是4个空格,这里需要手动设置一下. 操作步骤: 1.打开Preferences-> ...

  3. sparklyr包--实现R与Spark接口

    1.sparklyr包简介 Rstudio公司发布的sparklyr包具有以下几个功能: 实现R与Spark的连接: sparklyr包提供了一个完整的dplyr后端,可筛选并聚合Spark数据集,接 ...

  4. 20145304 第五周Java学习报告

    20145304<Java程序设计>第5周学习总结 教材学习内容总结 1.使用try.catch: 如果使用了try.catch,编译时会尝试执行try区块中的程序代码,如果有错误,执行流 ...

  5. /var文件系统

    /var文件系统  /var 包括系统一般运行时要改变的数据.每个系统是特定的,即不通过网络与其他计算机共享.   /var/catman    当要求格式化时的man页的cache.man页的源文件 ...

  6. 20145330《Java程序设计》第二次实验报告

    20145330<Java程序设计>第二次实验报告 实验二 Java面向对象程序设计 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承多态 3.初步掌握UM ...

  7. win7 64位DCOM配置(关于导出excel 配置计算机组件服务)(转)

    http://blog.sina.com.cn/s/blog_9323b3a50101qrxm.html [解决方案1] 1:在服务器上安装office的Excel软件. 2:在"开始&qu ...

  8. row_number() over order by与利用rownum查询分页效率分析

    实际测试: 数据库:70万条数据 查询第10000页,每页10条.row_number() 耗时: 2.2秒rownum 耗时:1.3秒 查询第20000页,每页10条.row_number() 耗时 ...

  9. (转)KeyDown、KeyUp、KeyPress区别

    Windows窗体通过引发键盘事件来处理键盘输入以响应Windows消息,大多数Windows窗体应用程序都通过处理键盘事件来以独占方式处理键盘输入. 1.按键的类型 Windows窗体将键盘输入标 ...

  10. 放弃iOS4,拥抱iOS5

      前言 苹果在2011年的WWDC大会上发布了iOS5,不过考虑到要支持iOS4.x的系统,大多数App都无法使用iOS5的新特性.现在将近1年半过去了,从我们自己的App后台的统计数据.一些第三方 ...