在使用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多年了,所以我已经完成了基础知识。
如何进一步修复/探究问题?
答案 0 :(得分:0)
CERES_FOUND未设置因为本征和ceres之间的版本不匹配而出现问题。