跑别人的Demo时发现要求的Ceres版本是2.1.0,然而我电脑上已经装了2.0.0,而且我又不想卸载当前版本。于是想着能不能同时安装两个版本的Ceres,在使用时指定版本。折腾了好一会儿才搞定,记录一下安装步骤,防止遗忘。
1、下载Ceres2.1.0到电脑上然后解压(废话),官网链接:Installation — Ceres Solver;
2、而后在你想要安装的位置新建一个文件夹,如在/usr/local/下新建文件夹Ceres-2.1.0。
注:有的安装位置需要sudo权限才能新建文件夹,如果是这些需要权限的位置,在后续的安装过程中都需要加sudo才行。
3、在你第一步下载并解压的文件中新建一个build文件夹,然后cd进去:
mkdir build
cd build
4、然后将安装路径指定到第二步中的文件夹并安装:
cmake -D CMAKE_INSTALL_PREFIX="/usr/local/Ceres-2.1.0" ..
make -j4
sudo make install
注:如果报错可能是权限不够,可以在上述指令前加sudo。
另外,make -j后面这个4是指的线程数,可以通过 grep 'processor' /proc/cpuinfo | sort -u | wc -l 查看本机线程数,然后改成那个数值,一般来说直接拉满,不然会很慢。
5、执行完第四步就已经安装完了,现在需要在CMakelists中指定运行的版本。这里需要找到你需要指定版本的CeresConfig.cmake文件所在的路径。也就是你安装时指定的路径下lib/cmake/Ceres中。在find_packeage前设置Ceres_DIR即可。
set(Ceres_DIR /usr/local/Ceres-2.1.0/lib/cmake/Ceres)
find_package(Ceres REQUIRED)
6、没了。指定路径的方式有很多,我指出的只是其中一种。