开源库ZXing加入xcode工程报错几个原因及解决方法

从网上下载的是zxing-2.2版本。然后按照http://www.cocoachina.com/applenews/devnews/2013/0104/5462.html的例子操作,这个是对的,只是有些细节地方还没有提到。在这里补充下

1.只保留cpp/core/src/zxing cpp/core/src/bigint和iphone/ZXingWidget 共三个目录。网上的cpp/core/src/bigint目录没有加上。我编译是发现不能少此目录,估计是zxing2.2版本的缘故。所有的文件放在工程文件同一级目录(建议你放这里。)我在实战中曾经发在下一级目录失败了(原因没有细查)。

2.然后加入下framework。

a. AVFoundation  

b. AudioToolbox   

c. CoreVideo  

d. CoreMedia  

e. libiconv  

f. AddressBook  

g. AddressBookUI

3.完成之后再加入ZXingWidget和libZXingWidget.a 同时拖动工程到demo工程内。如下图

开源库ZXing加入xcode工程报错几个原因及解决方法_第1张图片

然后添加.a文件

开源库ZXing加入xcode工程报错几个原因及解决方法_第2张图片

最后在  header search paths 加入  ./zxing/iphone/ZXingWidget/Classes      ./zxing/cpp/core/src

    测试二维码识别。

我是使用第一种方式的。我是直接在MainViewController.h里面加入   #import "ZXingWidgetController.h"    #import "QRCodeReader.h"的。


问题一:

结果提示 “'iostream' file not found”错误。我开始以为是路径错了,修改路径后还是不对,按网上的把MainViewController.m 修改成.mm.还是不对。最后我把#import "ZXingWidgetController.h"#import "QRCodeReader.h"放在.mm文件,就没有问题。靠,一个混编的问题。忘了这一点。在混编中所有的c++文件都放在了.mm文件中了。

开源库ZXing加入xcode工程报错几个原因及解决方法_第3张图片

问题二: 

还遇到如下的错误

开源库ZXing加入xcode工程报错几个原因及解决方法_第4张图片

解决方法:


问题三:

敲完测试代码。一编译,一个 Cannot initialize a parameter of type 'id' with an lvalue of type 'MainViewController *'的错误,一看应该少了委托。蛮有信心的在mainViewController.h 上加入, 还是错误。最后保持.h 文件不变。在.mm文件中加入<ZXingDelegate>如下图

开源库ZXing加入xcode工程报错几个原因及解决方法_第5张图片

世界一下子就安静下来。 

问题四:

开源库ZXing加入xcode工程报错几个原因及解决方法_第6张图片

这个问题有两个方面的设置

a.如下图设置

开源库ZXing加入xcode工程报错几个原因及解决方法_第7张图片

2.如下图设置

开源库ZXing加入xcode工程报错几个原因及解决方法_第8张图片

你可能感兴趣的:(xcode,开源,库,objective-c)