Xcode的错误“重复的符号”,导致苹果Mach-O的连接错误(Xcode error “Dupli

2019-10-17 13:52发布

duplicate symbol _leagueTableLoaded in:
/Users/Brendan/Library/Developer/Xcode/DerivedData/2013-dbhrwzgxgwhfbqatgqpfrmqyucyu/Build/Intermediates/2013.build/Debug-iphonesimulator/2013.build/Objects-normal/i386/LTGlobalResultsViewController.o

/Users/Brendan/Library/Developer/Xcode/DerivedData/2013-dbhrwzgxgwhfbqatgqpfrmqyucyu/Build/Intermediates/2013.build/Debug-iphonesimulator/2013.build/Objects-normal/i386/LTJumpToMeViewController.o

duplicate symbol _showGLobalCompany in:

/Users/Brendan/Library/Developer/Xcode/DerivedData/2013-dbhrwzgxgwhfbqatgqpfrmqyucyu/Build/Intermediates/2013.build/Debug-iphonesimulator/2013.build/Objects-normal/i386/LTGlobalResultsViewController.o

/Users/Brendan/Library/Developer/Xcode/DerivedData/2013-dbhrwzgxgwhfbqatgqpfrmqyucyu/Build/Intermediates/2013.build/Debug-iphonesimulator/2013.build/Objects-normal/i386/LTJumpToPositionViewController.o

duplicate symbol _leagueTableLoaded in:

/Users/Brendan/Library/Developer/Xcode/DerivedData/2013-dbhrwzgxgwhfbqatgqpfrmqyucyu/Build/Intermediates/2013.build/Debug-iphonesimulator/2013.build/Objects-normal/i386/LTGlobalResultsViewController.o

/Users/Brendan/Library/Developer/Xcode/DerivedData/2013-dbhrwzgxgwhfbqatgqpfrmqyucyu/Build/Intermediates/2013.build/Debug-iphonesimulator/2013.build/Objects-normal/i386/LTJumpToPositionViewController.o

ld: 3 duplicate symbols for architecture i386

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

我收到上述错误在Xcode只有当我尝试在模拟器建(任何iOS设备,我可以建立一个没有错误的)。 我有三大类:

1.LTGlobalResultsViewController 2.LTJumpToMeViewController 3.LTJumpToPositionViewController

三人都在xcode的创建,但既2和3已被修改的xcode的外面再重建。

布尔leagueTableLoaded的@property在所有三种标题中定义。 它被声明为:

@property bool leagueTableLoaded;

究竟是什么导致了此错误? 我曾尝试以下:

  1. 我曾尝试在不同的班级改名leagueTableLoaded但这不能解决问题。

  2. 我试图删除我的导出数据文件手动库/开发/ Xcode的文件夹中。

  3. 根据其他的问题,如果我导入.m文件我已经检查。 不是这种情况。 苹果Mach-O的连接错误(“重复的符号”)

任何其他建议或意见? 谢谢,詹姆斯

此外:根据要求,请找出所有从我的.h和.m文件引用leagueTableLoaded或任何试图避开这个错误,当我创建变体的提取物:

LTJumpToMeViewController.h
@property bool leagueTableLoadedMe;

LTJumpToMeViewController.m
@implementation LTJumpToMeViewController
bool leagueTableLoaded = false;

LTGlobalResultsViewController.h
@property bool globalLeagueTableLoaded;

LTGlobalResultsViewController.m
@implementation LTGlobalResultsViewController
bool leagueTableLoaded = false;

LTJumpToPositionViewController.h
@property bool leagueTableLoadedPos;

LTJumpToPositionViewController.m
@implementation LTJumpToPositionViewController
bool leagueTableLoaded = false;

如果需要,我可以提供更多的信息!

Answer 1:

对我来说,一个重复的符号错误来到了我缺席一心包括一个.m文件,而不是一个.H(为什么Xcode的自动提示,甚至告诉我.m文件?)时,



Answer 2:

在为此这是由leagueTableLoaded布尔在两个LTGlobalResultsViewController.m和LTJumpToPositionViewController.m被定义而引起。

从其中一人删除它解决了这一问题。 虽然我不知道为什么它在那里摆在首位! 希望这可以帮助别人谁遇到同样的问题! 詹姆士



Answer 3:

导致苹果Mach-O的连接器错误的Xcode错误“重复的符号”是由项目重复的符号引起的。 步骤,以避免错误

  1. 转到项目 - > 目标 - > 构建阶段 - > 编译源代码
  2. 检查重复的文件(实现文件)
  3. 删除文件,然后重新添加
  4. 再次清洁和运行项目

这为我工作。 希望能帮助到你



Answer 4:

在第二个视图控制器,你误#IMPORT“First.m”,检查它必须是first.h文件,以便与first.h替换此。 它为我工作。



文章来源: Xcode error “Duplicate Symbol” causing Apple Mach-O Linker Error