五分钟集成ZXing


iOS集成ZXing的过程真是麻烦,我总共集成了两次,由于第一次集成没有做记录,在第二次集成时,还是花了不少时间。所以在第二次集成的时候特意做了记录,按照笔记,现在五分钟即可集成ZXing,0错误,0警告。


为了快速集成,自然不是从0开始,我们要站在前人的肩膀上。废话少说,步骤开始:


准备工作:

1、下载一个现成的二维码扫描源码ZXingDemo ,我们需要这里的代码


步骤:

1、新建工程MyZXingDemo;

2、将ZXingDemo中已经裁剪好的zxing整个文件copy到工程的根目录,将ZXingDemo中的QRCodeEncoder第三方库copy到工程的根目录external下,工程目录如图




添加ZXing和QRCodeEncoder到工程中,注意添加方式是将ZXingWidget.xcodeproj QRCodeEncoderObjectiveCAtGithub.xcodeproj直接拉到工程中,如图,而非在工程中 Add Files




3、添加依赖库、头文件搜索路径




./zxing/iphone/ZXingWidget/Classes   (注意此路径的右侧选项是recursive,循环检索)

./zxing/cpp/core/src

./external/QRCodeEncoder/QRCodeEncoderObjectiveCAtGithub



4、将ZXingDemo的代码全部copy到工程目录下(嘿嘿,你是不是发现什么了,被我坑了,其实本文重点并不在于写扫描的代码,而在于避免集成过程出现的N多问题。根据本人集成过程的一点小经验,集成ZXing过程中浪费的最多时间在于排除各种bug,而非写扫描代码。既然都被坑到这儿了,就看完嘛~~~~~~),如图所示:



将 CustomViewController.m 名字改成 CustomViewController.mm


在工程中添加的时候只要 【右键 - Add Files】添加CustomViewController和ViewController两个类即可,此时工程目录如图:



5、大功告成,恭喜你终于集成了ZXing,勇敢的编译吧




此时,你痛苦的发现又被骗了。。。。。。。。。怎么还有错误啊

Undefinedsymbols for architecture armv7:

 "std::_Rb_tree_increment(std::_Rb_tree_node_base*)",referenced from:

std::basic_ostream<char, std::char_traits<char>>& std::operator<<<std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char> >&,char)", referenced from:

……

……

这种错误几十个,木事,参考链接: http://thierry-xing.iteye.com/blog/1815295 ,将C++ Standard Library选项改成Compiler Default


此时点击编译,不怕,勇敢点击吧,这次真的可以了,ZXing就这样被集成了 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值