OpenCV SFM Xcode 7.2:体系结构x86_64的未定义符号:cv :: sfm :: reconstruct

时间:2016-05-03 17:15:50

标签: opencv xcode7 opencv3.0 3d-reconstruction

在使用contrib模块构建和安装OpenCV之后,我已经链接到我的Xcode项目中的所有相应的库和头文件(我在那里有来自OpenCV的示例文件用于scene_reconstruction)。

我还应用了此处推荐的#define CERES_FOUND true修补程序: https://github.com/Itseez/opencv_contrib/issues/476

编辑器提示我使用sfm模块和reconstruct.hpp文件中正确的函数完成(除了我得到的提示在所有reconstruct()中都缺少最后一个布尔is_projective标志,例如:

其中一个提示是:

reconstruct(<#const std::vector<std::string> images#>, <#OutputArray Rs#>, <#OutputArray Ts#>, <#InputOutputArray K#>, <#OutputArray points3d#>)
然而,我得到了:

Undefined symbols for architecture x86_64:

"cv::sfm::reconstruct(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, cv::_OutputArray const&, cv::_OutputArray const&, cv::_InputOutputArray const&, cv::_OutputArray const&, bool)", referenced from:
      _main in scene_reconstruction.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

当我构建项目时。

我在同一个项目中进行了相机校准,运行正常,其他一切都没问题,我从源头开始使用OpenCV多年了,所以我已经完成了基础知识。

如何进一步修复/探究问题?

1 个答案:

答案 0 :(得分:0)

CERES_FOUND未设置因为本征和ceres之间的版本不匹配而出现问题。