架构 x86_64 的 Xcode 未定义符号:

Posted

技术标签:

【中文标题】架构 x86_64 的 Xcode 未定义符号:【英文标题】:Xcode Undefined symbols for architecture x86_64: 【发布时间】:2016-11-16 21:53:43 【问题描述】:

我从另一个开发人员那里接手了一个 Xcode 项目,并试图在我的本地计算机上启动并运行代码。

我收到此错误:

Undefined symbols for architecture x86_64:

这是我来自 Xcode 的日志文件:

 Ld
/Users/etiennelouw/Library/Developer/Xcode/DerivedData/TheBridesOffice-dikntijbbbpirgcsdaggnwtzafqj/Build/Products/Debug-iphonesimulator/TheBridesOffice.app/TheBridesOffice
normal x86_64

    cd "/Users/etiennelouw/Downloads/App (1)/TheBridesOffice"
    export IPHONEOS_DEPLOYMENT_TARGET=7.0
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.3.sdk
-L/Users/etiennelouw/Library/Developer/Xcode/DerivedData/TheBridesOffice-dikntijbbbpirgcsdaggnwtzafqj/Build/Products/Debug-iphonesimulator
-F/Users/etiennelouw/Library/Developer/Xcode/DerivedData/TheBridesOffice-dikntijbbbpirgcsdaggnwtzafqj/Build/Products/Debug-iphonesimulator
-F/Users/etiennelouw/Downloads/App\ (1)/TheBridesOffice/TheBridesOffice/Class/Addition/Parse
-F/Users/etiennelouw/Downloads/App\ (1)/TheBridesOffice/TheBridesOffice/Class/Addition/Facebook
-F/Users/etiennelouw/Documents/FacebookSDK -filelist /Users/etiennelouw/Library/Developer/Xcode/DerivedData/TheBridesOffice-dikntijbbbpirgcsdaggnwtzafqj/Build/Intermediates/TheBridesOffice.build/Debug-iphonesimulator/TheBridesOffice.build/Objects-normal/x86_64/TheBridesOffice.LinkFileList
-Xlinker -rpath -Xlinker @executable_path/Frameworks -mios-simulator-version-min=7.0 -Xlinker -no_deduplicate -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -lsqlite3 -framework Bolts -framework MobileCoreServices -framework FBSDKShareKit -framework ParseCrashReporting -framework
FBSDKMessengerShareKit -framework FBAudienceNetwork -framework
FBSDKCoreKit -framework ParseFacebookUtilsV4 -framework FBSDKLoginKit
-framework Parse -framework SystemConfiguration -framework AudioToolbox -framework CoreImage -framework ParseFacebookUtils
-framework QuartzCore -framework ParseUI -Xlinker -dependency_info -Xlinker /Users/etiennelouw/Library/Developer/Xcode/DerivedData/TheBridesOffice-dikntijbbbpirgcsdaggnwtzafqj/Build/Intermediates/TheBridesOffice.build/Debug-iphonesimulator/TheBridesOffice.build/Objects-normal/x86_64/TheBridesOffice_dependency_info.dat
-o /Users/etiennelouw/Library/Developer/Xcode/DerivedData/TheBridesOffice-dikntijbbbpirgcsdaggnwtzafqj/Build/Products/Debug-iphonesimulator/TheBridesOffice.app/TheBridesOffice



 Undefined symbols for architecture x86_64:

   "_FBSDKAppEventNameFBSessionNativeAppSwitchLoginDialogResult",
referenced from:

      -[FBSDKLoginManagerLogger logNativeAppDialogResult:dialogDuration:] in
FBSDKLoginKit(FBSDKLoginManagerLogger.o)

   "_FBSDKDialogConfigurationNameLogin", referenced from:

      -[FBSDKLoginManager logInWithBehavior:serverConfiguration:serverConfigurationLoadError:]
in FBSDKLoginKit(FBSDKLoginManager.o)

      -[FBSDKLoginManager(Native) performBrowserLogInWithParameters:handler:] in
FBSDKLoginKit(FBSDKLoginManager.o)

   "_FBSDKMonotonicTimeGetCurrentSeconds", referenced from:

      -[FBSDKLoginManagerLogger parametersWithTimeStampAndClientState:forAuthMethod:] in
FBSDKLoginKit(FBSDKLoginManagerLogger.o)

 ld: symbol(s) not found for architecture x86_64

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

这是我在架构下的内容: Architectur

这是我按照 facebook SDK 入门指南导入的框架文件: Framework

【问题讨论】:

构建设置 -> 架构下有什么?您是否需要 X64 而不是 $ARCH_STANDARD (armv7, arm64)。检查 FB pod 目标。 我已经用架构的截图更新了我的问题,我一直在尝试添加其他字段,正如我在网上看到的那样,这可能是问题,但无论我输入了什么字段,我仍然得到同样的错误。 引用代码标记 【参考方案1】:

似乎您的项目在链接时缺少依赖项,因为在链接阶段缺少FBSDKLoginKit.framework

尝试通过 Facebook 指南重新检查您的配置 - Getting Started with the Facebook SDK for iOS。

【讨论】:

我已经阅读了这个入门指南以及解析和 facebook sdk 入门教程,但它仍然给出错误,我已经从 Build Phases -> Link Binary With Libraries 中删除了重复项,仍然同样的错误。不知道还能去哪里看,任何想法都会令人惊叹。 所以差不多了,框架搜索路径中似乎有一个重复的文件夹获取了错误版本的 FB SDK,因此将其删除,现在已经成功构建。跨度> 很高兴听到。很抱歉延迟回答,但我很高兴我的想法可以帮助您解决问题。

以上是关于架构 x86_64 的 Xcode 未定义符号:的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 无法构建 React Native 项目,架构 x86_64 的未定义符号

终端中的“架构 x86_64 的未定义符号”,但 xcode 中没有错误

架构 x86_64 的未定义符号:JNI_CreateJavaVM OS-X Xcode

架构 x86_64 / i386 的未定义符号

GraphicsMagick,架构 x86_64 的未定义符号

架构 x86_64 的未定义符号将 QT 与 Opencv 结合使用