開源庫ZXing加入xcode工程
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工程內。如下圖
然後新增.a檔案
最後在 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"
問題二:
還遇到如下的錯誤
解決方法:
問題三:
敲完測試程式碼。一編譯,一個 Cannot initialize a parameter of type 'id<ZXingDelegate>' with an lvalue of type 'MainViewController *'的錯誤,一看應該少了委託。蠻有信心的在mainViewController.h 上加入<ZXingDelegate>, 還是錯誤。最後保持.h 檔案不變。在.mm檔案中加入<ZXingDelegate
世界一下子就安靜下來。
問題四:
這個問題有兩個方面的設定
a.如下圖設定
2.如下圖設定