これは以前に尋ねられましたが、多くの人から、これは基本的なインストールの質問ではありません(答えは簡単かもしれませんが)。
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にリンクされているはずであり、どこが間違っているのかわかりません。誰かアイデアはありますか?