使用openMVG重建3D点云结构遇到double free or corruption问题
安装openMVG之后,使用过程中遇到报错double free or corruption。记录了一些可能造成该问题的原因及解决办法。
-
情况1 (我是这种情况)
当命令行调用openMVG_main_IncrementalSfM时,提示错误 double free or corruption
造成原因:
可能是在编译openMVG的过程中使用的ceres模块不是自带的导致后边会出现调用错误.
解决办法:
注释掉目录 openMVG/src/CMakeLists.txt里边的第260行左右的find_package(Ceres QUIET HINTS ${CERES_DIR_HINTS})。之后在重新编译安装openMVG。
参考:https://github.com/openMVG/openMVG/issues/1521
安装编译openMVG,请参考:https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/107281050
-
情况2
double free or corruption
造成原因:
错误 double free or corruption还有可能是eigen版本造成的,openMVG应该是需要3.2.xxx版本的
解决办法:
查看eigen版本是否符合要求,安装符合要求的版本
-
情况3
cmake文件中正确链接openMVG库作为第三方库,也可能避免double free or corruption。
target_link_libraries(main ${OPENMVG_LIBRARIES})
参考:cmake正确链接openMVG为第三库 :https://github.com/openMVG/openMVG/issues/1234
参考:https://blog.csdn.net/watermelon369/article/details/106352784