2013-04-26 4 views
5

IOS用にopenCVを使用する非常に簡単なアプリケーションを開発しました。私が他のプロジェクトでコードを使用することにしていたまで、それはうまくいった。 lib architectureOPENCV関数を含むSTATIC LIBRARYをインポートするときに "architecture armv7の未定義シンボル"

:私は、次のアーキテクチャ情報を持っている私の作業コードの静的libにファイルを、作成した(、最後の画像を参照してください)

を私はこれのARMv7エラーを取得していますし、問題がどこにあるか私が見ることができません Project architecture

しかし、私がしようとすると:私は* .Aファイルにそれをコンパイルし、dyOpenCv.aを追加し、次のアーキテクチャ情報を持っている私のメインのプロジェクトにDyOpenCV.hファイルより

ヘッダーファイル内のメソッドを使用します(DyOpenCV.h)、次のエラーが表示されます armv7 error

それはあるかもしれないものの任意のアイデア?

+0

するためにいくつかのメモリリークがあったが。これらのシンボルを実装するライブラリにプロジェクトをリンクさせてください。 – karlphillip

答えて

10

ライブラリをリンクに関連した2つの問題がありました:

まず
  1. 、私のサブプロジェクトは、opencv2.framework が正しく追加され、それにリンクされていたが、私はまた私にこのフレームワーク を追加する必要がありましたメインプロジェクトこのように私はのcv :: *を取り除きました 問題を解決しました。

  2. 2番目の問題は、私のクロスコンパイラObjective-C++の設定に関連していました。私が標準ライブラリとしてlibC++を使用した後、に他のリンカーフラグに-lC++を追加しました。 libstdC++を標準ライブラリとして使用している場合は、代わりに-lstdC++を追加する必要があります。

その後、完全に機能しました。 )=の世話を

乾杯、彼らはすべての問題をリンクされている

2

私はそのプロジェクトがC++ランタイムにリンクしていないので、そのと思います。

リンクされたライブラリにurlを追加するようにlibC++。dylibを追加してください。