最近为了进行相机标定,需要下载标定工具code_utils。遇到了几个问题:
首先code_utils的依赖有ceres,所以首先去下载ceres。编译ceres时发现cmake版本太低,无法编译。但是又不想删除旧版本的cmake(一旦删除会把用该版本编译的内容删光)。所以找到了一篇博客,介绍如何不卸载旧版本的情况下下载和安装新版本cmake:https://www.cnblogs.com/chenjian688/p/14446094.html、
然后编译code_utils,发现报错:cannot specify include directories for imported target glog::glog。据网上说,是cmake版本太低。查了cmake版本,已经是比较新的版本了。突然想起来catkin_make用的可能还是旧版的cmake。所以需要找到新版本的位置,建立软链接。
which cmake
sudo ln -s /opt/cmake-install/bin/cmake /usr/bin/cmake
其中第一个路径是新版本cmake的路径。
如果提示/usr/bin/cmake已经存在,则需要先删除再执行上面的命令:
sudo rm -rf /usr/bin/cmake
最后一个坑就是编译code_utils会报错:“fatal error : backward.hpp 没有那个文件或目录”
在code_utils的CMakeLists.txt文件中,找到include_directories("include")这一行,换行加入:
include_directories("include/code_utils")
然后就编译成功了。