【问题标题】:Linker command failed in XCode 6.2 using MMWormhole Library and Watchkit使用 MMWormhole 库和 Watchkit 的 XCode 6.2 中的链接器命令失败
【发布时间】:2015-04-02 14:09:51
【问题描述】:

在尝试构建应用程序时,我收到“链接器命令失败,退出代码 1”错误。以下是 Xcode 中的错误:

Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_MMWormhole", referenced from:
  objc-class-ref in InterfaceController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

看起来图书馆不是针对 x86 架构的,但这只是我目前所读内容的一个疯狂猜测。当我从“构建设置”中的有效架构中删除架构时,错误消息消失了,但我得到了另一个。

是否有人对 MMWormhole 有所了解并知道该怎么做?

【问题讨论】:

    标签: ios objective-c iphone xcode watchkit


    【解决方案1】:

    我的猜测是,您只将 MMWormHole 包含在您的 iOS 应用程序目标中,而不是包含在您的 WatchKit 扩展中。如果您只是导入源代码而不是库,则需要检查源代码的目标并确保选择了 iOS 应用程序和 WatchKit 扩展(请参阅Calling a Method on Watchkit)。如果您包含或构建库,则需要检查 iOS 应用和 WatchKit 扩展中的设置,并确保它们都链接到库。

    【讨论】:

    • 这是正确的 - 我刚刚遇到了同样的问题并修复了它。检查 MMWormHole 的 .m 文件的 Target Membership 并确保为扩展选择了它。谢谢@斯蒂芬约翰逊!
    • 确实是链接库的问题。我错误地将它链接到“将二进制文件与库链接”中,当然当它不是二进制文件时它不起作用。我在“编译源”列表中添加了该库并且它工作了
    猜你喜欢
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多