3

同じプロジェクトで ZXing と OpenCV を使用しようとしています。これがこれほど珍しいことだとは思わないでしょうが、私はそうだと思います。この 2 つの間に深刻な互換性の問題があります。もう一方なしでインポートできるのは 1 つだけです。

OpenCV から始めて、すべて正常に動作します。プログラムは期待どおりに実行されます。次に ZXing を追加すると、約 27 個のコンパイラ エラーが発生します。これに対処するスタックオーバーフローの質問がありますhere。したがって、この質問が示唆する内容に一致するように C++ コンパイラの設定を変更すると、ZXing の問題は修正されますが、まったく新しい一連のエラーが発生します。これらのエラーは現在、OpenCV に関連しています (以下を参照)。

編集:
C++ コンパイラによっては、どちらか一方のタイプの取引のようです。実際、C++ 標準ライブラリを libc++ から libstdc++ に変更すると、一方が機能し、もう一方が機能しなくなります。両方を同時に取得する方法はありません ここに画像の説明を入力

4

2 に答える 2

5

私は自分の質問に対する解決策を見つけました。これは、同じプロジェクトで zxing と opencv を使用しているすべての人に最適です。

  1. プロジェクト設定に移動 -> ターゲット -> c++ を検索 a. a. c++ 言語ダイアレクトをコンパイラのデフォルトに切り替えます。C++ 標準ライブラリを libc++ に切り替える
  2. ZXingWidget.xcodeproj に移動 -> ZXingWidget -> C++ を検索 a. a. c++ 言語ダイアレクトをコンパイラのデフォルトに切り替えます。C++ 標準ライブラリを libc++ に切り替える
  3. ZXing は現在 iOS 4.3 をサポートするように設定されているため、libc++ にコンパイルできないというコンパイラ エラーが発生します。再び ZXing ウィジェットに移動し、展開ターゲットを 5.0 に変更します (まだ 5 未満をサポートしようとしている皆さん、申し訳ありません)。

これで問題が解決しました。基本的に何が起こっていたかというと、zxing と open cv が異なるバージョンの c++ でコンパイルされていたため、奇妙な問題が発生していました。

編集:参考までに、私はZXing 2.1とOpenCV 2.4.3を使用していました(質問時の最新バージョン)

于 2012-11-21T19:05:35.287 に答える