【问题标题】:xcode 4.5 - symbols not found for architecture i386 (zbar)xcode 4.5 - 未找到架构 i386 (zbar) 的符号
【发布时间】:2012-09-23 09:46:50
【问题描述】:

我有一个使用 zbar-sdk(条形码扫描库)的项目。

将我的机器更新到 xcode 4.5 和 ios6sdk 后,我遇到了一些麻烦。

我能够在不涉及我的项目的任何内容的情况下构建到模拟器。这是使用最新的 zbar 1.2 库。

然后我想构建到我的 ios6 设备上进行测试,结果出现错误。

在 zbar 开发人员论坛上进行了一番谷歌搜索后,我发现我需要获取 zbar 源代码并为 armv7 和 armv7s 构建 libzbar.a,因为 zbar 开发人员尚未完成这项工作。

见 - http://sourceforge.net/projects/zbar/forums/forum/1072195/topic/5728912

所以我这样做了,将更新后的 libzbar.a 重新导入到我的项目中。然后我为我的设备构建,它工作!我能够将我的应用程序放到我的测试设备上,并且 zbar 条形码库运行良好。

我以为事情就这样结束了,但不幸的是没有。

然后我尝试再次构建到模拟器(ios6),结果失败了。

无论如何,我无法同时为设备和模拟器构建此项目并使用相同的设置:(

我在构建自己的 libzbar.a 文件时的 libzbar.a 项目设置:

架构:标准(armv7、armv7s)$(ARCHS_STANDARD_32_BIT)

仅构建活动架构:否

有效架构:armv7 armv7s

我的项目设置(对于 myapp)为:

架构:标准(armv7、armv7s)$(ARCHS_STANDARD_32_BIT)

仅构建活动架构:否

有效架构:armv7 armv7s

基础 SDK:iOS6

iOS 部署目标:iOS 5.0

以及尝试构建到模拟器时的错误:

ld: warning: ignoring file /Users/blah/iOS App/myapp/ZBarSDK/libzbar.a, missing required architecture i386 in file /Users/blah/iOS App/myapp/ZBarSDK/libzbar.a (2 slices)
Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_ZBarReaderViewController", referenced from:
      objc-class-ref in mycontroller.o
  "_ZBarReaderControllerResults", referenced from:
      -[mycontroller imagePickerController:didFinishPickingMediaWithInfo:] in mycontroller.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已尝试调整 libzbar.a 项目设置(例如,将构建活动架构设置为“YES”),但这只会导致模拟器或设备都无法正常工作。

它可以在设备上运行但不能在模拟器上运行,这让我觉得是一些奇怪的架构/项目设置导致了这种情况。

非常感谢任何帮助!

【问题讨论】:

    标签: xcode armv7 xcode4.5 zbar-sdk ios


    【解决方案1】:

    我怀疑这是正确的答案,但它对我有用,我使用架构编译了新的 libzber.a:i386 armv6 armv7 armv7s 按此顺序您还需要指定有效的架构相同价值观。这又是对我有用的最近版本,我需要退出 A.S.A.P.两者都可以在 Target -> Build Settings -> Architecures 中找到。

    另请注意:需要从设置中删除 $(ARCHS_STANDARD_32_BIT)。

    【讨论】:

      【解决方案2】:

      我通过在 Target->Build Settings 中的 OTHER_LDFLAGS 下设置 iOS6 模拟器架构解决了类似的问题。

      我忘记了我对分离的架构有不同的命令行参数,所以我不得不手动声明模拟器

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多