架构 armv7s 的未定义符号:“_OBJC_CLASS_$_ZXingWidgetController”,引用自:使用 Zxing 的 RootViewController.o 中的 objc-c

Posted

技术标签:

【中文标题】架构 armv7s 的未定义符号:“_OBJC_CLASS_$_ZXingWidgetController”,引用自:使用 Zxing 的 RootViewController.o 中的 objc-class-ref【英文标题】:Undefined symbols for architecture armv7s: "_OBJC_CLASS_$_ZXingWidgetController", referenced from: objc-class-ref in RootViewController.o using Zxing 【发布时间】:2013-02-07 13:09:23 【问题描述】:

我在我的应用程序中加入了 Zxing 的二维码阅读器。我在 Xcode4.5 中测试了之前在 Zxing 中的 scantest,它运行良好。我将 ios sdk 更新到 6.1 并将 Xcode 更新到 4.6,现在这个显示错误。首先它显示 gcc 编译器的错误,现在它已解决,现在显示错误

"Undefined symbols for architecture armv7s"

P.S:- 在阅读了许多解决方案后,我尝试更改一些东西,例如所有架构设置为相同(Scantest、ZxingWidget、ZxingTouch),将编译器更改为 LLVM GCC 4.2,将其他警告标志设置为 -Werror 等。

特殊问题是构建适用于 iphone 模拟器 6.1。

【问题讨论】:

你已经问了15个问题,但即使你的问题解决了,你也没有接受任何答案。 @CRDave,实际上我不知道如何接受答案。我对此感到非常抱歉。请告诉我程序。 访问这两个页面,这样您就可以获得一些好的 SO 基础知识:***.com/about***.com/faq。随时欢迎您提供帮助 【参考方案1】:

如果您正在使用任何 lib 文件,请检查构建阶段->将二进制文件与库链接并检查是否包含相应的 lib。

如果您正在使用源文件,请检查是否将.m 文件添加到当前目标。

谢谢, 吉姆。

【讨论】:

那是正确的@Jim,我检查了库 libZXingWidget.a 是否存在,但是 ZxingWidgetController 和 QRCodeReader 的 .m 文件未在编译源中列出,但它们包含在 Zxing xcode 项目。 @Saty :如果这解决了您的问题,请接受答案。 我将它们添加为我的朋友,但是因为它们是 Zxing 库的一部分,并且测试项目依赖于该库,所以当我在编译源中添加这两个文件时......许多其他错误出现了。所以这不是我认为的问题。 如果您使用的是源文件,那么即使您使用了一个/两个文件,其他依赖文件也必须包含在您的目标中。 没有问题...我通过构建一个新项目并将 Zxing 集成到其中解决了这个问题。 Zxing 的集成 ScanTest 运行不佳,它在使用不同的编译器和架构时存在很多问题......我们应该报告这一点。感谢大家帮助我度过难关。

以上是关于架构 armv7s 的未定义符号:“_OBJC_CLASS_$_ZXingWidgetController”,引用自:使用 Zxing 的 RootViewController.o 中的 objc-c的主要内容,如果未能解决你的问题,请参考以下文章

架构 armv7 的未定义符号

架构armv7的未定义符号?

XCode 5 - 架构 armv7 的未定义符号:

架构armv7的未定义符号?这个错误是啥意思?

架构 armv7 的未定义符号

架构 armv7 (WebRTC) 的未定义符号