尽管之前已经有很多人问过这个问题,但这不是基本的安装问题(虽然答案可能很简单)。
好的,我正在并行安装两个 OpenCV(2.3.1 和最新的 2.4),但我主要使用 2.3.1。
所以,我之前(在同一台机器上)让 cvBlob 工作正常,但我开始重新安装。任何人,我已经成功构建了 OpenCV,并且我已经从 CvBlob 项目站点进行了更改,以将OpenCV 库包含在 CMakeLists.txt 中
为了确保 OpenCV 正常,我运行并重新运行 make 和 make install 以确保它位于 usr/local/include 目录中。使用 OpenCV 的测试应用程序工作正常,并且使用file opencv_library.dylib
表明 opencv 库是 64 位的。
关于问题的症结,我cmake .
从 cvblob 目录的根目录运行,一切都恢复正常。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 库相关联,我看不出哪里出了问题。有人有什么想法吗?