0

Iphone プロジェクトに QR コード スキャン用のZxingソース コードを統合しました。

Zxing のプロジェクトをデバッグ モードでビルドするまでは、QR コードを完全にスキャンしますが、リリース モードでは、アプリケーションは QR イメージから QR コードをスキャンできません。

エラー/例外なしで QR コードのスキャンを停止するだけです。ビルドをデバッグ モードに戻すと、再び完全にスキャンされます。

以下の設定を使用して、Zxing のプロジェクトをリリース モードでビルドしました。

1.  XCode: 4.0.1    Compiler: GCC 4.2                   Optimization Level: -O0
2.  XCode: 4.0.1    Compiler: GCC 4.2                   Optimization Level: -Os
3.  XCode: 4.0.1    Compiler: LLVM GCC 4.2              Optimization Level: -O0
4.  XCode: 4.0.1    Compiler: LLVM GCC 4.2              Optimization Level: -Os
5.  XCode: 4.0.1    Compiler: LLVM compiler 2.0         Optimization Level: -O0
6.  XCode: 4.0.1    Compiler: LLVM compiler 2.0         Optimization Level: -Os
7.  XCode: 4.2      Compiler: LLVM GCC 4.2              Optimization Level: -O0
8.  XCode: 4.2      Compiler: LLVM GCC 4.2              Optimization Level: -Os
9.  XCode: 4.2      Compiler: Apple LLVM compiler 3.0   Optimization Level: -O0
10. XCode: 4.2      Compiler: Apple LLVM compiler 3.0   Optimization Level: -Os


問題がどこにあるのかわかりません。これに関するヘルプは非常に役立ちます。ありがとう..

4

1 に答える 1

0

ZXing FAQには、llvm のバグが原因で、llvm (llvm-gcc または clang) を使用する場合、4.2 より前の Xcode ではリリース ビルドが機能しないことが記載されています。llvm-gcc と clang の両方が、Xcode 4.2 以降のリリース モードで動作することが確認されていScanTestますBarcodes。私はまだ C++ のバグと Xcode 4.2 の clang を見てきましたが、少なくとも と で見られるように、それらは ZXing に影響を与えないようScanTestですBarcodes

DEBUGあなたが言及したシンボルに関する動作は、ScanTestまたはでは再現できませんBarcodes。これらのプロジェクトはいずれも を定義していませんDEBUG。より多くのデバッグ コードでコンパイルを定義するためDEBUG、最適化のバグがまだ残っている可能性があります。

構築しているアーキテクチャについては言及していません(armv6またはarmv7)。armv6Thumb モードをオフにしないと、最適化に問題があると報告されています。ZXing の svn のプロジェクトはこれを行います。この変更は、ZXing のどのリリースにもまだありません。

于 2012-03-20T17:21:24.470 に答える