Zbar SDK - 缺少所需的架构 x86_64
Posted
技术标签:
【中文标题】Zbar SDK - 缺少所需的架构 x86_64【英文标题】:Zbar SDK - missing required architecture x86_64 【发布时间】:2014-03-26 12:00:21 【问题描述】:我在最近的 Xcode 5.1 中构建应用程序时遇到了一个问题。编译失败,出现“架构 x86_64 的未定义符号”错误。
我使用有效架构构建我的项目:armv7、armv7s 和 arm64。切换到最新的环境(Xcode)后,我在相同的架构中重建 libzbar.a 库(我已经根据在以下位置找到的解决方案完成它:Linker Error in Xcode-5)
也许有人也有同样的问题,最后他解决了,请分享解决方案:)
【问题讨论】:
你下载的Zbar版本好像不支持64位,必须的。您可以尝试从源代码构建 Zbar。 是的,我做到了,我已经根据具有适当架构的源代码重建了 libzbar.a。但是它对我没有帮助,有人可以使用它吗? 你添加了所有必需的框架吗??? 试试这个***.com/a/23409994/2684720 【参考方案1】:我遇到了同样的问题,然后我就这样解决了:
从您的项目中删除文件夹 ZBarSDK 的引用。 从link 下载 armv7、arm7s 和 armv64 的版本。 将旧文件夹替换为新文件夹,(保存副本以防万一) 将新文件夹添加到您的项目中。 清理项目并构建。让我知道它是否适合你。
【讨论】:
On the github, ZBarSDK-for-ios, there is a builded project there. 非常感谢你救了我的命【参考方案2】:为 iphone 6 重新编译 ZBar
步骤
下载源代码(Mac版必须有Mercurial):
打开终端并运行以下命令
一个。 hg克隆http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar
b. cd zbar
c。 hg checkout iPhoneSDK-1.3.1
d。打开iphone/zbar.xcodeproj
在 xcode 项目中编辑“libzbar”方案并在 Build configuration 中选择 Release
按照架构转到构建设置集
一个。架构 - >标准架构(armv7,armv72,arm64)
b.有效架构 -> 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)
【讨论】:
【参考方案3】:确保您的 libzbar.a 包含项目中所需的所有架构。您可能需要为设备和模拟器构建以下内容:
armv7 armv7s arm64 i386 x86_64
您可以使用以下命令对此进行测试:
xcrun -sdk iphoneos lipo -info libzbar.a
【讨论】:
我听不懂。我可以用 arv7 arv7s arm64 得到一个。另一个使用 armv7 i386 或 armv7 x86_64 我不知道为什么。你能帮帮我吗? 同样的事情发生在我身上。你能帮我如何用 x86_64 构建它吗?【参考方案4】:对我来说:xcode 6,iphone 6 使用 fpauer 的方法!
方式:
从您的项目中删除文件夹 ZBarSDK 的引用。 从 this 链接下载 armv7、arm7s 和 armv64 的版本。 将旧文件夹替换为新文件夹,(保存副本以防万一) 将新文件夹添加到您的项目中。 清理项目并构建。
【讨论】:
【参考方案5】:我昨天遇到了同样的问题,我终于可以用 64 位模拟器构建了。
在您尝试链接后,我替换了库和所有头文件。但这还不够。然后,我还将 libzbar.a 从 Link Binary With Libraries on Bulid Phases 取消链接并重新添加该库。然后它开始工作了。
让我知道它是否适合你。
【讨论】:
嗨,你能告诉我如何用 xcode 6 为 x86_64 编译 libzbar 吗?我正在使用 iOS 设备进行构建,但它只提供 armv7 和 arm64,对于 iPhone6 模拟器也是如此。请让我知道我可以做些什么来为 x86_64 架构构建它。 Tushar - 你需要生成一个胖静态库。 gist.github.com/rehos/7856163【参考方案6】:我在 ZBar 火车上也有一段时间处理这些问题,因为他们没有更新 SDK。幸运的是,如果您的应用程序只需要支持 iOS7 及更高版本(大多数 iOS 用户现在都在使用它!),现在 AVFoundation 中提供了 QR/条形码阅读支持,因此您可以非常轻松地构建自己的阅读器。查看本教程:
http://www.appcoda.com/qr-code-ios-programming-tutorial/
那就尽情享受 Apple 支持的二维码阅读器的美丽吧!
【讨论】:
以上是关于Zbar SDK - 缺少所需的架构 x86_64的主要内容,如果未能解决你的问题,请参考以下文章
linux oracle 系统安装oracle 11g所需的安装包和相关依赖包,无软件
gcc:架构 x86_64 的未定义符号,缺少 vtable
问题:在 SLES12 中安装 edb-as12-server 时,没有提供 llvm6-6.0.1-43.25.sles12.x86_64 所需的 libjsoncpp.so.1()(64bit)