目标c - 我收到此错误.怎么了



我收到以下错误。我为什么得到它?

重复的符号_main: /users/AlexBomnd/library/Developer/Xcode/DerivedData/Backpack-gcnxteerautalugwepzkevaqgtxe/Build/Intermediates/Backpack.build/Debug-iphonesimulator/Backpack.build/Objects-normal/x86_64/main.o /users/AlexBomnd/Library/Developer/Xcode/DerivedData/Backpack-gcnxteerautalugwepzkevaqgtxe/Build/Intermediates/Backpack.build/Debug-iphonesimulator/Backpack.build/Objects-normal/x86_64/AppDelegate-2D6246B5E95B9D9F.o LD:1 个重复符号用于体系结构x86_64 叮当声:错误:链接器 命令失败,退出代码为 1(使用 -v 查看调用)

main.mAppDelegate.m(或者可能是AppDelegate.swift)都包含函数main。每个程序只能存在一个main函数,因为它是任何 C、Objective-C 或 Swift 程序的唯一入口点。

更多信息:

程序的编译实际上是一系列几个独立的步骤。

每个项目都由一系列编译单元组成。在Objective-C中,每个.m文件都是一个编译单元。在 C 中,它是.c文件。在 Swift 中,所有.swift文件的组合是一个模块(相当于其他模块的编译单元)。它们中的每一个都是独立编译的,以生成一系列目标文件(.o,如您在错误中看到的那样)。

您的程序已编译并成功通过此步骤。

编译各个编译单元之后,生成的对象文件通过称为链接器的程序链接在一起,以生成文件程序。在链接步骤中,链接器遇到错误,因为main.o文件(从main.m编译的对象)和AppDelegate-2D6246B5E95B9D9F.o文件(从AppDelegate.mAppDelegate.swift编译的对象)都包含符号_main的定义。链接器不知道选择两者中的哪一个,因此它会引发错误。

最新更新