在最近的Xcode 5.1中构建应用程序时遇到了一个问题。编译失败,并且"未定义的符号用于体系结构x86_64"错误。
我使用Valid Architecture构建我的项目:armv7,armv7s和arm64。切换到最新环境(Xcode)后,我在同一架构中重建了libzbar.a库(我根据在Linker Error in Xcode-5找到的解决方案完成了它)
也许有人也有同样的问题,最后他解决了,请与解决方案分享:)
答案 0 :(得分:25)
我有同样的问题,我解决了这个问题:
让我知道它是否适合你。
答案 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码阅读器的美丽中!