同样的旧错误:

Undefined symbols for architecture x86_64:
  "cv::applyColorMap(cv::_InputArray const&, cv::_OutputArray const&, int)", referenced from:
      _main in test.o
  "cv::subspaceProject(cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&)", referenced from:
      _main in test.o
  "cv::subspaceReconstruct(cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&)", referenced from:
      _main in test.o
  "cv::createEigenFaceRecognizer(int, double)", referenced from:
      _main in test.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我正在尝试的代码是:

https://gist.github.com/hihell/0520674421fe0cb26d38

我已经将C++标准库更改为“Compiler Default”,但错误仍然存​​在。

但是,使用相同的设置,其他简单的代码(例如显示图片或打开相机)也可以正常工作。

版本:
  • OpenCV是由brew 2.4.8版安装的
  • Xcode版本5.1.1
  • OSX版本10.9.3有人可以帮助我吗?

  • 任何帮助或提示都非常欢迎

    最佳答案

    您需要正确指示标题和库搜索路径。

    看来您已经正确设置了 header 路径。
    要设置库搜索路径,请执行以下操作:

  • 在项目的Xcode中找到“库搜索路径”设置。 Build Settings -> Search Paths -> Library Search Paths。然后在Debug或Release中,添加您的OpenCV库路径。 (在我的情况下,是/usr/local/lib。)
  • 查找:Buid Phases -> Link Binary With Libraries,添加* .dylib文件。
    就我而言,我添加:
  • libopencv_contrib.2.4.9.dylib
  • libopencv_core.2.4.9.dylib
  • libopencv_highgui.2.4.9.dylib
  • libopencv_imgproc.2.4.9.dylib

  • 注意,libopencv_contrib.2.4.9.dylib对于您提到的功能至关重要,可能还需要其他功能。

    顺便说一句,如果您在添加头文件时遇到问题,那是一样的。将它们添加到Build Settings -> Search Paths -> Header Search Paths下。

    关于xcode - Xcode 5的OpenCV编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24256482/

    10-15 04:39