在Xcode中构建项目的链接阶段出现重复符号的问题
Issue with Duplicate symbol in link phase of project build in Xcode
我一直在为iOS开发一款游戏应用。应用程序工作得相当好,但我今天做了一个相当大的重组,使模型-视图-控制器更"兼容"。
我已经在c++中构建了主要的游戏引擎,但使用Objective-C来管理视图控制器,视图等。
现在,当我编译项目时,我在链接阶段得到一个错误。详情如下:
ld: duplicate symbol ApplicationEngine::OnFingerUp(Vector2) in/Users/Dan/Library/Developer/Xcode/DerivedData/BlackHoles-exrlidtstxzdtsbyjghgquhlsqul/Build/Intermediates/BlackHoles.build/debug -iphone模拟器/BlackHoles.build/Objects-normal/i386/ApplicationEngine。0和/Users/Dan/Library/Developer/Xcode/DerivedData/BlackHoles-exrlidtstxzdtsbyjghgquhlsqul/Build/Intermediates/BlackHoles.build/debug -iphone模拟器/BlackHoles.build/Objects-normal/i386/AppDelegate。O代表架构i386Collect2: ld返回1退出状态命令/Developer/Platforms/iphonessimulator .platform/Developer/usr/bin/g++-4.2 failed with exit code 1
OnFingerUp是我的c++ ApplicationEngine中的一个函数,从viewController中调用。
这个问题可能是由于我的#includes/#imports中的一些混淆引起的吗?
我的AppDelegate文件需要#include一个MainViewController文件来设置初始的viewController。MainViewController依次包含ApplicationEngine文件来实例化该类。ApplicationEngine包含OnFingerUp方法。当我得到触摸输入时,OnFingerUp方法从MainViewController被调用。这个包含序列会导致重复吗?
我注意到,如果我暂时从应用程序中完全删除OnFingerUp方法,那么我在ApplicationEngine中的另一个方法也会遇到同样的问题。
在编译单个文件时没有任何错误或警告。我也试过"全部清除"并重新编译,但没有成功。
谁有什么建议,我可以接近解决这个问题吗?谢谢你,丹。我可以想到3个原因:1)不小心#包括一个。cpp文件,2)在头文件中忘记#ifndef守卫,3)在头文件中编写方法定义时忘记内联。
- 为"adjacent"变量赋值时出现问题
- 在Ubuntu 16.04上安装Cilk时出现问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 在WSL:configure_file上对config_file的每次调用都失败:配置文件时出现问题
- 运行程序时出现问题
- 类似于strcat()的函数出现问题
- 编译要在英特尔Hyperscan中使用的.cc文件时出现问题
- c++binary_search函数排序数组(流行名称搜索)出现问题
- 使用FFMPEG将RGB图像序列保存到.mp4时出现问题
- constexpr构造函数需要常量成员函数时出现问题
- 添加存储在向量中的大整数的函数出现问题
- 输入std::数组时出现问题
- 将应用程序从32位移植到64位时出现问题
- 退出简单while循环时出现问题
- 使用自定义比较函数使用std::sort()对矢量字符串进行排序时出现问题
- 在CToolBar对象中使用PNG时出现问题
- 使用同一类中的方法重新分配字段时出现问题
- 我的开关菜单在一段时间循环中出现问题
- 使用arm-linux- gnuabi -g++ -o时出现段故障,不使用-o也不会出现问题