0

これは以前に尋ねられましたが、多くの人から、これは基本的なインストールの質問ではありません(答えは簡単かもしれませんが)。

OK、OpenCVの2つのインストール(2.3.1と最新の2.4)を並べて実行していますが、主に2.3.1を使用しています。

そのため、以前は(同じマシンで)cvBlobが正常に動作していましたが、再インストールを行うことになりました。とにかく、私はOpenCVを正常にビルドし、CvBlobプロジェクトサイトからCMakeLists.txtにOpenCVライブラリを含めるように変更しました。

OpenCVが正常であることを確認するために、makeとmake installを実行して再実行し、usr / local/includeディレクトリにあることを確認しました。OpenCVを使用したテストアプリケーションは正常に動作し、を使用file opencv_library.dylibすると、opencvライブラリが64ビットであることが示されます。

問題の核心に、私cmake .はcvblob dirのルートから実行し、すべてが正常に戻ります。makeそしてsudo make install実行され、私はすべてがうまくいったと言われています。繰り返しfileますが、私は使用していませんが、libcvblobが64ビットライブラリであることを示しています。

opencvとcvblobの両方を使用するc++プログラムに移動し、opencv.hppとcvblob.hへの絶対パスをインクルードします。

次に、これ:

Undefined symbols for architecture x86_64: "_cvLabel", referenced from: _main in cchIl24a.o "_cvFilterByArea", referenced from: _main in cchIl24a.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status

明らかなことを除けば、何がうまくいかなかったのかはわかりませんが、opencv libsにリンクされているはずであり、どこが間違っているのかわかりません。誰かアイデアはありますか?

4

1 に答える 1

1

cvBlobLib に関するこれらの質問と問題はすべて、OpenCV にブロブ トラッカーがなく、誰かがそれを作成して Web に公開した昔からのものです。なぜか大人気になりました。

しかし、それは何年も前のことです。

これで、opencv にバンドルされている同梱のSampleBlobDetectorを簡単に使用できるようになりました。より成熟し、堅牢で、より多くの機能を備えています。また、インクルード/リンクの問題について心配する必要はありません。

于 2012-07-24T14:11:54.980 に答える