Xcode真机构建App遇Undefined symbols链接错误求助
解决Xcode中
_main未定义的链接错误 错误信息
ld: Undefined symbols: _main, referenced from: <initial-undefines> clang: error: linker command failed with exit code 1 (use -v to see invocation)
已尝试的操作
- 通过Swift Package Manager (SPM)确保所有依赖已安装并更新至最新
- 验证Target Membership包含必要文件
- 检查Build Phases确认源文件已正确列在Compile Sources下
- 清理构建文件夹(Shift + Command + K)并删除DerivedData文件夹
额外排查与解决步骤
- 检查Target类型:如果是Framework类型,本身不需要
main函数,若误将其设为可执行Target会触发该错误。进入Target的General标签,确认Deployment Info里的Target类型匹配项目(比如iOS应用选iOS App,框架选Framework)。 - 确认入口文件存在:SwiftUI项目需要带
@main注解的App结构体;UIKit项目需要main.swift文件,或在Info.plist中指定Main storyboard file base name。若入口文件丢失,重新创建对应文件。 - 核对Info.plist配置:确认
Info.plist中CFBundleExecutable值与Target名称一致,且文件路径在Build Settings->Info.plist File中正确配置。 - 检查链接器参数:进入
Build Settings->Other Linker Flags,移除不必要的-undefined相关参数,避免错误的链接标记干扰。 - 重新关联源文件:右键点击项目文件 ->
Add Files to "项目名",重新将所有源文件添加到Target,确保入口文件的Target Membership被正确勾选。
内容的提问来源于stack exchange,提问作者user1801745
相关产品推荐
相关产品推荐

