我在最近的 Xcode 5.1 中构建应用程序时遇到了一个问题。编译失败,出现“架构 x86_64 的未定义符号”错误。
我使用有效架构构建我的项目:armv7、armv7s 和 arm64。切换到最新的环境(Xcode)后,我在相同的架构中重建 libzbar.a 库(我是根据在 Xcode-5 中的链接器错误中找到的解决方案完成的)
也许有人也有同样的问题,最后他解决了,请分享解决方案:)
我有同样的问题,我以这种方式解决了:
请让我知道这对你有没有用。
为 iphone 6 重新编译 ZBar
脚步
下载源代码(你必须有 Mercurial for mac):
打开终端并运行以下命令
一个。hg 克隆http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar
湾。光盘zbar
C。hg checkout iPhoneSDK-1.3.1
d。打开 iphone/zbar.xcodeproj
在 xcode 项目中编辑“libzbar”方案并在 Build configuration 中选择 Release
转到构建设置集以下架构
一个。架构 - >标准架构(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 6,iphone 6 使用 fpauer 的方法!
道路:
从您的项目中删除文件夹 ZBarSDK 的引用。从此链接下载 armv7、arm7s 和 armv64 的版本。将旧文件夹替换为新文件夹,(保存副本以防万一)将新文件夹添加到您的项目中。清理项目并构建。
确保您的 libzbar.a 包含项目中所需的所有架构。您可能需要以下内容来为设备和模拟器构建:
armv7 armv7s arm64 i386 x86_64
您可以使用以下命令对此进行测试:
xcrun -sdk iphoneos lipo -info libzbar.a
我昨天遇到了同样的问题,我终于可以用 64 位模拟器构建了。
在您尝试链接后,我替换了库和所有头文件。但这还不够。然后,我还从 Link Binary With Libraries on Bulid Phases 取消链接 libzbar.a 并重新添加库。然后它开始工作了。
请让我知道这对你有没有用。
我在 ZBar 火车上也有一段时间处理这些问题,因为他们没有更新 SDK。幸运的是,如果您的应用程序只需要支持 iOS7 及更高版本(大多数 iOS 用户现在都在使用它!),现在 AVFoundation 中提供了 QR/条形码阅读支持,因此您可以非常轻松地构建自己的阅读器。看看这个教程:
http://www.appcoda.com/qr-code-ios-programming-tutorial/
那就尽情享受 Apple 支持的二维码阅读器的美丽吧!