如何解决在Xcode中的项目构建的链接阶段出现重复符号的问题
|| 我一直在为iOS构建游戏应用程序。该应用程序运行良好,但是我今天进行了相当大的重组,使其更加符合模型视图控制器的要求。 我已经用C ++构建了主要的游戏引擎,但是使用Objective-C来管理viewControllers,views等。 现在,当我编译项目时,在链接阶段出现错误。详细信息如下: ld:/Users/Dan/Library/Developer/Xcode/DerivedData/BlackHoles-exrlidtstxzdtsbyjghgquhlsqul/Build/Intermediates/BlackHoles.build/Debug-iphonesimulator/BlackHoles.build/Objects-normal/i386中的重复符号ApplicationEngine :: OnFingerUp(Vector2) /ApplicationEngine.o和/Users/Dan/Library/Developer/Xcode/DerivedData/BlackHoles-exrlidtstxzdtsbyjghgquhlsqul/Build/Intermediates/BlackHoles.build/Debug-iphonesimulator/BlackHoles.build/Objects-normal/i386/AppDelegate.o用于架构i386 collect2:ld返回1退出状态 命令/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2失败,退出代码为1 OnFingerUp是我的C ++ ApplicationEngine中的一个函数,并从viewController中调用。 问题可能是由于#includes /#imports中的某些混乱引起的吗? 我的AppDelegate文件需要#include MainViewController文件来设置初始viewController。反过来,MainViewController #includes ApplicationEngine文件实例化该类。 ApplicationEngine包含OnFingerUp方法。当我获得触摸输入时,然后从MainViewController调用OnFingerUp方法。包含的顺序可能导致重复吗? 我已经注意到,如果我暂时从应用程序中完全删除OnFingerUp方法,那么我在ApplicationEngine中的另一个方法会遇到同样的问题。 各个文件编译时没有任何错误或警告。我还尝试了“全部清理”并重新编译,但没有任何乐趣。 是否有人对我如何解决问题有任何建议?谢谢,丹。解决方法
我可以想到3个原因:1)偶然#包含一个.cpp文件,2)忘记了头文件中的#ifndef防护,3)忘记了在头文件中编写方法定义时的内联。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。