ld:入口点(_main)未定义。对于架构 x86_64:Xcode 9
Posted
技术标签:
【中文标题】ld:入口点(_main)未定义。对于架构 x86_64:Xcode 9【英文标题】:ld: entry point (_main) undefined. for architecture x86_64 : Xcode 9 【发布时间】:2017-10-09 14:28:38 【问题描述】:最近我下载了 Xcode 9 并创建了一个示例 iPhone 应用程序,但该应用程序无法构建,因为它显示以下错误:
ld:入口点 (_main) 未定义。对于架构 x86_64
我在网上搜索了相同的内容并尝试了一些方法,例如删除派生数据,重新启动 Xcode,但仍然无法解决问题。
有人遇到过类似的问题吗?
【问题讨论】:
应用是用另一个 xcode 创建的吗? 没有。但我也用新的 xcode 打开了旧项目,它们运行良好.. 【参考方案1】:添加 @UIApplicationMain 解决了这个问题。
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate
...
【讨论】:
【参考方案2】:发现“AppDelegate”不是“目标”成员的一部分。
【讨论】:
您能否详细说明一下。我无法得到你确定的内容。 耶稣。不敢相信这是问题 @user6159419 他的意思是在 XCode 中,在项目导航器中单击您的项目,然后转到 Build Phases,然后转到 Compile Sources 并确保 AppDelegate 包含在 Compile Sources 中 点击AppDelegate->转到文件检查器->签入目标成员 通过点击加号图标在编译源中添加 AppDelegate.swift 在您的目标项目中【参考方案3】:我也遇到过同样的问题。这是我修复它的方法: 选择您的项目,然后转到 Build Setting -> Search Mach-O Type Change to -> Bundle .希望它会有所帮助!
【讨论】:
【参考方案4】:就我而言,我在AppDelegate.swift
中错过了@UIApplicationMain
。在class AppDelegate
之前添加它,我的应用又开始构建了
【讨论】:
由于旧笔记本电脑(因此卡在 Catalina 上),我正在尝试将 Big Sur(等 Xcode 和 Macbook Pro)反向移植到 Macbook Pro(2012 年中)上的 Catalina,它处于不稳定状态两个开发平台。这是最后一个构建(链接器)问题。【参考方案5】:@main
class AppDelegate: UIResponder, UIApplicationDelegate
...
斯威夫特 5
确保在 appDelegate 类的开头有 @main。
【讨论】:
【参考方案6】:请打开您的AppDelegate.swift
类并检查@UIApplicationMain
是否已写入。如果没有,则在该类中的 import UIKit "@UIApplicationMain"
下方添加这行代码。
类似这样: @UIApplicationMain 类 AppDelegate: UIResponder, UIApplicationDelegate ...
【讨论】:
【参考方案7】:添加@UIApplicationMain
以解决此问题。除了它在内部做的事情,你也可以自己做同样的事情。在这种情况下,您不需要添加@UIApplicationMain
。只需创建一个 swift 文件名并将其放入其中。它将按预期工作。
import UIKit
UIApplicationMain(CommandLine.argc,
UnsafeMutableRawPointer(CommandLine.unsafeArgv).bindMemory(to: UnsafeMutablePointer<Int8>.self, capacity: Int(CommandLine.argc)), nil, NSStringFromClass(AppDelegate.self))
【讨论】:
【参考方案8】:确保“AppDelegate”是“目标”成员的一部分。
单击AppDelegate -> 属性检查器 -> 检查目标成员身份
【讨论】:
【参考方案9】:对于框架(动态库)
如果您在构建框架时遇到此错误,请选择 Build Settings > Mach-O Type 下的 Dynamic Library。
在 Xcode 版本 11.6 (11E708) 上测试
最好的。
【讨论】:
【参考方案10】:只需在 appDelegate 中添加此代码
var window: UIWindow?
【讨论】:
编辑您的答案并插入更多内容,以便清楚。【参考方案11】:在我的情况下,@main
被评论了。
你的AppDelegate
应该是这样的:
@main
class AppDelegate: UIResponder, UIApplicationDelegate
//
【讨论】:
【参考方案12】:就我而言,我意外删除了我的 appDelegate 文件 :)
【讨论】:
以上是关于ld:入口点(_main)未定义。对于架构 x86_64:Xcode 9的主要内容,如果未能解决你的问题,请参考以下文章
UITest 失败,错误为 'ld: entry point (_main) undefined。对于架构 x86_64'