Zbar SDK - 缺少必需的体系结构x86_64

时间:2014-03-26 12:00:21

标签: ios xcode zbar-sdk zbar xcode5.1

在最近的Xcode 5.1中构建应用程序时遇到了一个问题。编译失败,并且"未定义的符号用于体系结构x86_64"错误。

我使用Valid Architecture构建我的项目:armv7,armv7s和arm64。切换到最新环境(Xcode)后,我在同一架构中重建了libzbar.a库(我根据在Linker Error in Xcode-5找到的解决方案完成了它)

也许有人也有同样的问题,最后他解决了,请与解决方案分享:)

6 个答案:

答案 0 :(得分:25)

我有同样的问题,我解决了这个问题:

  • 从项目中删除文件夹ZBarSDK的引用。
  • link下载armv7,arm7s和armv64的版本。
  • 替换新旧文件夹(保存副本以防万一)
  • 将新文件夹添加到项目中。
  • 清理项目并构建。

让我知道它是否适合你。

答案 1 :(得分:11)

重新编译ZBar for iphone 6

步骤

下载源代码(您必须拥有Mercurial for mac):

打开终端并运行以下命令

一个。 hg clone http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar

湾cd zbar

℃。 hg checkout iPhoneSDK-1.3.1

d。打开iphone / zbar.xcodeproj

在xcode项目中编辑“libzbar”方案并选择Build in Build configuration

转到构建

之后的构建设置集

一个。架构 - >标准架构(armv7,armv72,arm64)

湾有效的架构 - > arm64,armv7 armv7s

为设备和编译器编译libzbar,这里是配置:

找到已编译的libzbar.a并使用Teminal.app进入该文件夹,

在我的案例中:/ Users / kappe / Library / Developer / Xcode / DerivedData / zbar-gyozyrpbqzvslmfoadhqkwskcesd / Build / Products

在此文件夹中,您应该有两个子文件夹Release-iphoneos和Release-iphonesimulator

使用xcode命令行工具构建通用库:

lipo -create Release-iphoneos / libzbar.a Release-iphonesimulator / libzbar.a -o libzbar.a

现在您可以在设备和模拟器中使用创建的libzbar.a。

参考:xcode 5.1 - Undefined symbols for architecture x86_64 (zbar)

答案 2 :(得分:5)

对我来说:xcode 6,iphone 6使用fpauer的方法!

方式:

从项目中删除文件夹ZBarSDK的引用。 从this链接下载armv7,arm7s和armv64的版本。 替换新文件夹的旧文件夹(保存副本以防万一) 将新文件夹添加到项目中。 清理项目并构建。

答案 3 :(得分:4)

确保您的libzbar.a包含项目中所需的所有体系结构。您可能需要以下内容来构建设备和模拟器:

armv7 armv7s arm64 i386 x86_64

您可以使用以下命令对此进行测试:

xcrun -sdk iphoneos lipo -info libzbar.a

答案 4 :(得分:3)

昨天我遇到了同样的问题,我终于能够用64位模拟器构建了。

在您尝试的链接之后,我替换了库和所有头文件。但它还不够。然后我还将libzbar.a从Link Binary与Bulid Phases上的库取消链接并重新添加库。然后它正在运作。

让我知道它是否适合你。

答案 5 :(得分:2)

我还在ZBar列车上处理这些问题已经有一段时间了,因为他们还没有更新SDK。幸运的是,如果你的应用程序只需要支持iOS7以上(现在大多数iOS用户都在使用!),现在AVFoundation中有QR /条形码阅读支持,因此您可以非常轻松地构建自己的阅读器。看看这个教程:

http://www.appcoda.com/qr-code-ios-programming-tutorial/

然后沉浸在完全Apple支持的QR码阅读器的美丽中!