同样的旧错误:
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”,但错误仍然存在。
但是,使用相同的设置,其他简单的代码(例如显示图片或打开相机)也可以正常工作。
版本:
任何帮助或提示都非常欢迎
最佳答案
您需要正确指示标题和库搜索路径。
看来您已经正确设置了 header 路径。
要设置库搜索路径,请执行以下操作:
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对于您提到的功能至关重要,可能还需要其他功能。
顺便说一句,如果您在添加头文件时遇到问题,那是一样的。将它们添加到
Build Settings -> Search Paths -> Header Search Paths
下。关于xcode - Xcode 5的OpenCV编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24256482/