由于项目有使用到google的ceres库,于是就踩了一天的坑。。。
以前做SLAM编译cartographer的时候其实也装过,当时很轻松的就装好了,也没遇到什么困难,但是这次被卡了一天…
在网上试过好几个ceres版本,都是在make阶段报了一大堆错,开始以为是和eigen库不兼容的问题,eigen库也换了好几个版本,百度了半天也没找到原因,最后多亏了google大法。
最终发现问题是g++、gcc版本太低了,之前由于其他项目的需要将版本降级到了4.6,重新下载5.5版本并升级问题就解决了。
具体升级方法:
首先下载新版本
sudo apt-get install -y gcc-5.5
sudo apt-get install -y g++-5.5
链接gcc/g++实现升级
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-5.5 gcc
sudo rm g++
sudo ln -s g++-5.5 g++
# 查看是否连接到5.5.x
ls –al gcc g++
gcc --version
g++ --version
注意只要当版本链接正确的时候才能查到版本,不然即便前面链接的时候没有报错,最后查版本的时候会提示找不到g++/gcc命令。