开源库ZXing加入xcode工程问题的解决

来源:互联网 发布:js 获取android版本号 编辑:程序博客网 时间:2024/05/24 02:03

今天要用到二维码扫描的功能,将之前做的一个可以正确运行的demo的zxing移植到新工程,却出现了iostream file not found的问题。以下为解决办法。

参考以下文章可以完成将zxing加入到xcode中。

http://yannickloriot.com/2011/04/how-to-install-zxing-in-xcode-4/

但我按照上面的方法操作了,错误提示依然,于是就自己动手,重新操作了一遍,将zxing加入到xcode中。

其实主要有几个步骤:

1、下载zxing代码库后,解压。将ZXingWidget目录和cpp/core/src目录下的zxing复制到工程的目录里。要与工程的.xcodeproj文件同一级。

2、双击ZXingWidget.xcodepro,打开工程,我首先要保证单独运行ZXingWidget工程是成功的,这样才好添加到目标工程里面。

在ZXingWidget工程里,在classes下建立groud,命名为CoreSrc,与zxing给他test例子一样,将拷进来的目录zxing拖到CoreSrc下面。这样就解决了我之前将demo工程的zxingwidget工程直接拖到目标工程出现的文件缺失的情况。(是因为目标工程与demo工程的文件目录结构不一致而造成的)。

3、编译zxingwidget工程,顺利通过。这时候就可以将zxingwidget添加到目标工程里面了。

4、将zxingwidget添加到目标工程后,编译,还是出现iostream file not found的问题。shit,这下傻了。继续google一番,发现也有人问这个问题,而解决办法就是将实现文件,即.m文件改为.mm。经过一番对比demo工程,发现demo工程中,调用ZXingWidgetController的文件后缀为.mm。于是马上修改。再编译。这次天空终于出现阳光了,iostream file not found的错误没了。但有出现了其他一些错误。于是将依赖的库都加进去,再编译。终于可以看到久违的扫描界面了。

ps:第4步中,解决了iostream file not found的问题后,还出现了几个是问题,(非依赖库缺失的问题),后来仔细比对,发现是第2步操作加入的zxing目录下的.cpp文件,都没有加到Build Phases->Compile sources列表里面,重新加入后接解决了问题。这时候有点纳闷了,我将文件夹都拖到工程里面,理应自动添加到编译列表才对的啊。看来以后要多看看文件编译列表,不要太相信系统。


转载:http://blog.csdn.net/sing_sing/article/details/7351180