在厌倦了众多Match-O链接器错误后,我想知道这件事意味着什么。我想知道这些事情背后的概念,而不是试错法。具体来说,我想知道它们之间的区别:
当我点击链接部分上的Mach-O类型设置时,会显示这些选项。一些小的定义或一些指向适当内容的链接也可以。
答案 0 :(得分:27)
Mach-O是Mach对象文件格式的缩写,是可执行文件,目标代码,共享库,动态加载代码和核心转储的文件格式。对于unix用户,这就像a.out
但有改进。这是Mac OS X和iPhone OS库中用于可执行文件的格式。
如您所知,iOS设备(iPhone,iPad等)具有不同的架构ARMv6(iPhone 2G + 3G,iPod Touch)和ARMv7(iPhone 3GS,iPod Touch 2G + 3G),但Xcode中使用的模拟器主要运行在i386上平台。这意味着库客户端必须为模拟器和设备设置单独的目标。单独的目标复制大多数信息,并且仅在包含的静态库中有所不同。因此,如果您遇到Mach-O链接器错误,则意味着xcode无法链接到该目标设备的其中一个库;因此编译失败。
现在你的定义 -
答案 1 :(得分:6)