1.g2o链接文件找不到
error while loading shared libraries: libg2o_csparse_extension.so: cannot open shared object file: No such file or directory
解法:ldconfig即可
g2o error2 - Awecoder - 博客园
1.1这是一类问题,感觉提示找不到.so文件都可以尝试ldldconfig,
2.fmt没连接
报错如下fmt未连接报错
解决方法:下个fmt包,能apt install 最好,不然git clone。(我是git clone的),然后目标工程findpackage(fmt REQUIRED),目标文件链接fmt(target_link_library),搞定!
3.sophus库报错段错误
具体没看懂,看懂再说
ch4/example/trajectoryError 运行可执行文件出现错误 · Issue #110 · gaoxiang12/slambook2 · GitHub
4.g2o_viewer无法正常使用
解决高翔SLAM14讲ch11中找不到g2o_viewer命令问题_努力做学霸的学渣的博客-CSDN博客
因为安装的时候有一个插件qt5没装,而cmakelists里它也没有required,因此通过编译但没安插件。
解法:
sudo apt-get remove qt4-qmake
sudo apt-get install qt5-default qtcreator
sudo apt-get install libqglviewer-dev-qt5
5.一个诡异的错误:ch12的mono部分报错段错误
结论
update函数是bool型,但是没有返回值,虽然warning了,但是正经人谁看warning啊,然后就没注意,结果它还报个段错误,日
过程
gdb定位到epipolarSearch(cv::Mat const&, cv::Mat const&, Sophus:--Type <RET> for more, q to quit, c to continue without paging--ret
:SE3<double, 0> const&, Eigen::Matrix<double, 2, 1, 0, 2, 1> const&, double const&, double const&, Eigen::Matrix<double, 2, 1, 0, 2, 1>&, Eigen::Matrix<double, 2, 1, 0, 2, 1>&) ()
以为是vector<eigen>没align_allocated,结果呀,哎,gdb这黑厮怎么也乱报错了,董哥说下咋回事嗷~
后面用土方法打印逼近的,然后出来了,其实好像也可以用assert的,但是不会,诶嘿~
6.c++版本更新错误
报错:error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’? 等,都是相同格式
错误原因是用c++14写的代码。但是指定的编译器是c++11,所以报错
报错:error: ‘slots_reference’ was not declared in this scope
各种not declare,都是需要设置编译器
解法:set(CMAKE_CXX_STANDARD 14)
ch7:引用g2o库的文件报ceres库错误
报错:/usr/bin/ld: CMakeFiles/pose_estimation_3d2d.dir/pose_estimation_3d2d.cpp.o: in function `ceres::internal::FixedArray<double, 6ul, std::allocator<double> >::operator[](unsigned long)':
/usr/local/include/ceres/internal/fixed_array.h:214: undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)'
/usr/bin/ld: /usr/local/include/ceres/internal/fixed_array.h:214: undefined reference to `google::LogMessage::stream()'
解法:执行文件链接个glog库,没有库就安装一个,如下:
安装:
git clone https://github.com/google/glog
cd glog/cmake/
cmake .. sudo
make install
链接:
find_package(glog REQUIRED)
target_link_library(xx glog)
ch7:莫名段错误
在运行p_3d3d时,报错double free or corruption (out);
p_3d2d的optimizer.optimize()报段错误,不知道哪里内存爆了。
初步排查判定3d3d是因为bundleadjustment函数中变量二次析构了,但是具体解决方案未知
解法:未知
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)