xcode 4.5 – 找不到架构i386(zbar)的符号

我有一个使用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),那就是它失败的时候.

无论我怎样都无法让这个项目同时为设备和simualtor构建并使用相同的设置:(

构建我自己的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”)但这只会导致模拟器或设备无法正常工作.

事实上,它在设备上运行而不是在模拟器上工作,这使得我有一些奇怪的架构/项目设置导致了这一点.

任何帮助非常感谢!

解决方法

我怀疑这是正确的答案,但它对我有用,我使用架构编译了新的libzber.a:i386 armv6 armv7 armv7s,你还需要指定有效的架构作为相同的值.对于我来说,这对我来说是最有用的,我需要离开A.S.A.P.两者都在Target中找到 – >构建设置 – > Architecures.

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

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...