2

我正在尝试将 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)

最有可能导致这种情况的原因是什么?

4

5 回答 5

11

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

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

于 2012-07-21T23:49:51.080 回答
8

我的问题就这样解决了。
请遵循以下指示:

TargetSettings -> Build Phases -> Compile Sources -> add your .m class  ->Build and Run
于 2012-12-04T11:43:10.090 回答
1

我通过首先将目标更改为库并按下“CMD + B”来解决我的问题,这将构建所有库文件。然后改回主目标以在设备上编译和运行。

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

于 2017-10-10T07:33:01.290 回答
0

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

$(ARCHS_STANDARD_32_BIT)

于 2015-01-08T12:43:29.267 回答
0

清理你的 DerivedData 文件夹,这对我有帮助

mv ~/Library/Developer/Xcode/DerivedData ~/Library/Developer/Xcode/DerivedData.old
于 2016-06-04T07:12:16.150 回答