0

私は古いシステム (xcode 4.0 を搭載した OSX 10.6.8) を使用しており、OpenCV 2.3.0 を動作させようとしています。解決できない問題は、flann ライブラリを使用しようとすると、xcode で Mach-O リンカ エラーが発生することです。これまでのところ、すべてのライブラリを再コンパイルし、別のソースから dylib を構築しようとしましたが、役に立ちませんでした。ターミナルでライブラリをチェックすると、

Freddi-2:OpenCV-2.3.0 fredchen$ file /usr/local/lib/libopencv_flann.dylib
/usr/local/lib/libopencv_flann.dylib: Mach-O 64-bit dynamically linked shared library x86_64

私の特定のエラーコードは次のとおりです。

Undefined symbols for architecture x86_64:
  "cv::flann::KDTreeIndexParams::KDTreeIndexParams(int)", referenced from:
  _main in main.o
  "cv::flann::SearchParams::SearchParams(int, float, bool)", referenced from:
  _main in main.o
  "cv::FlannBasedMatcher::FlannBasedMatcher(cv::Ptr<cv::flann::IndexParams> const&, cv::Ptr<cv::flann::SearchParams> const&)", referenced from:
  _main in main.o
  "cv::BFMatcher::BFMatcher(int, bool)", referenced from:
  _main in main.o
  "cv::flann::IndexParams::~IndexParams()", referenced from:
  cv::flann::SearchParams::~SearchParams() in main.o
  "cv::flann::IndexParams::~IndexParams()", referenced from:
  cv::Ptr<cv::flann::IndexParams>::delete_obj() in main.o
  "vtable for cv::BFMatcher", referenced from:
  cv::BFMatcher::~BFMatcher() in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

プロジェクトにリンクした動的ライブラリは次のとおりです。

libopencv_video.2.3.0.dylib
libopencv_objdetect.2.3.0.dylib
libopencv_ml.2.3.0.dylib
libopencv_legacy.2.3.0.dylib
libopencv_gpu.2.3.0.dylib
libopencv_contrib.2.3.0.dylib
libopencv_ts.2.3.0.dylib
libopencv_imgproc.2.3.0.dylib
libopencv_highgui.2.3.0.dylib
libopencv_flann.2.3.0.dylib
libopencv_features2d.2.3.0.dylib
libopencv_core.2.3.0.dylib
libopencv_calib3d.2.3.0.dylib

助けていただければ幸いです。ありがとう!

4

1 に答える 1