架构i386的未定义符号:“_ OBJC_CLASS _ $ _ Barcode”,引自:objc-class-ref in

时间:2012-07-21 19:27:56

标签: ios xcode generator qr-code

我正在尝试将QR码生成库集成到我的应用程序中。

QR生成器库是:

https://github.com/kuapay/iOS-QR-Code-Generator

我想我必须把它误集成,因为我收到了这个错误:

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_Barcode", referenced from:
      objc-class-ref in QRViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

最有可能造成这种情况的原因是什么?

5 个答案:

答案 0 :(得分:11)

您最有可能链接到为设备编译的库版本(ARMv6 / v7架构),同时尝试编译模拟器(i386架构)。尝试在设备上运行。

如果在设备上运行它也不起作用,那么你可能根本就没有链接到库,你应该验证你在项目的“Link Binary With Libraries”构建阶段看到了库。

答案 1 :(得分:8)

我的问题就这样解决了 请按照说明进行操作:

TargetSettings -> Build Phases -> Compile Sources -> add your .m class  ->Build and Run

答案 2 :(得分:1)

我已经修复了我的问题,首先将目标更改为库并按下" CMD + B",这将构建所有库文件。然后改回主目标以在设备上编译和运行。

注意:我正在使用cocoapods,并且在我的项目中也有自己的自定义动态库。

答案 3 :(得分:0)

我通过转到Xcode Build设置解决了同样的问题,并且在架构中将标准架构更改为: -

$(ARCHS_STANDARD_32_BIT)

答案 4 :(得分:0)

清理DerivedData文件夹,这有助于我

mv ~/Library/Developer/Xcode/DerivedData ~/Library/Developer/Xcode/DerivedData.old