0

我正在使用cocoapods安装ZXing 2.1,我的Podfile内容如下:

platform :ios, '5.0'                                                                                                                                                 
pod 'ZXing/ios', '~> 2.1' 

一切正常,我可以导入使用#import <TwoDDecoderResult.h>来使用TwoDDecoderResult类,但是我不能使用QRCodeReader类,虽然我已经导入#import <QRCodeReader.h> 了为什么?

4

1 回答 1

1

我的问题是我不能在我的 Xm 文件中使用 QRCodeReader 类。Xcode 会抱怨iostream.h file not found和一些链接错误的“... avm7s 的未定义符号”(类似的东西)。此外,我的 cocoapods 是 0.25.0(您必须首先在这里看到更改日志,而我的 Xcode 是 4.6.3

经过搜索,我解决了我的问题如下:

  1. 将我的 Xm 文件更改为 X.mm 文件后缀。那是因为我的 X.mm 文件要使用 QRCodeReader,它原本是 ZXing 中的 C++ 类

  2. 设置您的项目和目标构建设置:"Build Valid Architecture Only"标志为NO. 对您的 pod 项目和目标也重复此步骤。

  3. 项目 -> 构建设置中滚动并找出选项、C++ 语言方言和 C++ 标准库。为它们选择“编译器默认值”选项。(这是我错过的步骤,它是必需的,因为最新的 XCode 模板具有与旧版本不同的编译器默认设置)。

现在构建并运行,它会好的。

于 2013-09-27T05:03:20.210 回答