架构armv7的未定义符号,常见修复无法解析

时间:2015-08-10 18:55:44

标签: ios objective-c xcode

我知道这是一个非常常见的问题,我会列出我在这里尝试的内容,但是我一直在试图弄清楚我为什么无法导入Xcode中的第三方SDK。其他线程中建议的常见修复程序无效。

我收到下面列出的错误输出,我尝试过:

  1. 在构建阶段的 Link Binary With Librarie 部分添加正确的库

  2. 我将 DoubleControlSDK.framework 文件复制到构建设置中的默认库搜索路径

  3. 我将.m文件添加到 Build Phases>编译来源 s

  4. 我在屏幕上大声喊叫,并威胁要拆开计算机,如果它没有链接该死的文件。

  5. 不知道还有什么可以尝试。我希望错误输出中可能有一些我没有注意到的东西。需要出门一段时间

    Undefined symbols for architecture armv7:
      "_OBJC_CLASS_$_EASession", referenced from:
      objc-class-ref in DoubleControlSDK
    "_EAAccessoryDidConnectNotification", referenced from:
      -[DRDouble init] in DoubleControlSDK
     "_OBJC_CLASS_$_EAAccessoryManager", referenced from:
      objc-class-ref in DoubleControlSDK
    "_OBJC_CLASS_$_ZBarReaderView", referenced from:
      objc-class-ref in EmbedReaderAppDelegate.o
      ld: symbol(s) not found for architecture armv7
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    

    编辑: enter image description here

2 个答案:

答案 0 :(得分:5)

您需要添加第三方库也依赖的库。一个是Apple的“ExternalAccessory.framework”。另一个似乎来自另一个名为ZBarReaderView的第三方项目。

http://zbar.sourceforge.net/iphone/sdkdoc/ZBarReaderView.html

答案 1 :(得分:0)

虽然Phillip Mills的回答有所帮助,但我发现我遇到的所有这些疯狂问题的真正原因是我的ZBarSDK文件导入不正确。

要解决此问题,我将其从项目树(支持文件和产品旁边的Frameworks文件夹)中删除,然后将其拖放回来.Xcode会自动处理所有内容。