ZXWingの導入方法

フォルダ登録

  1. zxing/iphone/ZXingWidget/直下にZXingWidget.xcodeprojを置いておく事。ここでzxing-2.0の-2.0は取り払っておく(あとでバージョンアップしたのを入れ替える可能性を考慮)
  2. ZXingWidget.xcodeprojをプロジェクトのナビゲーションにドラッグする
  3. copy item NO reference typeをrelative to project

ライブラリ登録

  1. targetのbuild phaseでlibZXingWidget.a登録

依存性の登録

  1. targetのtarget dependenciesでZXingWidgetターゲット登録

ヘッダーサーチパスの登録

  1. targetのBuild SettingsでHeader Search Pathsに相対パス/zxing/iphone/ZXingWidget/Classesを入れ、recursive pathをチェック。相対パスは$(SRCROOT)がプロジェクトファイルにあるパスをさすのでこれを利用して。
  2. cpp/core/src/ についてもどうように、ただしrecursive pathはつけない。

フレームワークを追加

a.	[[AVFoundation]]
b.	AudioToolbox
c.	CoreVideo
d.	CoreMedia
e.	libiconv
f.	AddressBook

ビルド確認

もしビルドでえらーしている場合はコンパイルフラグを修正する。
http://stackoverflow.com/questions/14447230/zxing-library-errors-in-ios-private-field-cached-y-is-not-used

注意点 zxwingがc++を使っている。

  • よって、zxwingを使うファイルはmではなくmmという拡張子をつかうことになる。
  • するとC++として駄目なコードにはエラーが出る。
  • 例えばヘッダの変数がextern宣言されていないとC++はリンクの前にマングリングされるので駄目。
  • マングリングされないCコードであると指示するにはmmからの参照先をextern "C" { };で囲む必要がある。
  • #if defined(__cplusplus)などで適宜cplusplus用の対応をすること。



最終更新:2013年02月04日 17:22