安装Ceres2.0.0遇到的问题
1、下载依赖
访问源代码网址:https://github.com/ceres-solver/ceres-solver,点击右侧的tags选择版本。
安装相关依赖(Ubuntu从18.04开始往后都是libcxsparse3)
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
我这里下载的时候,碰到了一个问题,可能是因为导入虚拟机的原因。截图如下
最初我更新了国内源,但是发现apt-get update的时候还是这样的结果,经过查询后,通过两种方法进行了解决。
(1)可能和DNS有关系:方法一
(2)删掉一些文件,重新下载。
sudo apt-get clean
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get clean
再继续执行 sudo apt-get update 就可以了。
解压编译
解压压缩包,进入解压目录创建build,进行编译
tar -zxvf ceres-solver-1.14.0.tar.gz
cd ceres-solver-1.14.0/
mkdir build
cd build/
cmake命令根据CMakeLists.txt对工程进行分析,make根据生成的Makefile文件对工程进行编译。最后make install安装即可
cmake ..
make
sudo make install
在进行make编译的时候,出现了这样的问题
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report
主要是因为编译时内存不足,临时使用交换分区来解决。
首先创建临时分区
sudo dd if=/dev/zero of=/swapfile bs=64M count=128
count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=8192MB
根据自己的需要创建分区,但是也不要太大,太大就会出现没有足够空间的问题。
如果出现这样的问题
执行 sudo swapoff -a
再继续执行如下命令
sudo mkswap /swapfile //空间格式化成swap格式
sudo swapon /swapfile //使用刚才创建的swap空间
就可以继续执行 make命令,可能会出现很慢的情况,需要等待一段时间。
执行sudo make install 结束后,显示如下就是安装结束