在学习slam的时候偶尔需要用到 CSM 这个库,但是目前这个库最高支持到kinetic可以直接通过 apt install 下载,后来找到几种做法可以通过源码安装 CSM 使用,在这里记录一下,另外注意一下安装csm需要安装一个gsl的库。
首先从Github上把源码 clone 或者下载下来解压,然后有两种思路可以安装。
第一种方式:只在目录内安装,然后作为第三方库保存在自己的workspace里,比较推荐这种方法,因为安装到usr目录的话可能后续如果要清理会比较麻烦。具体做法是在 csm 目录里使用作者写好的脚本安装:
1
./install_quickstart.sh
安装完成后使用 csm 所需的文件都在
csm/deploy
文件夹里,在需要用到csm
的项目和目标链接的CMakeList.txt
中加入这两项添加csm的目录和链接csm的动态库(csm的目录位置换成你自己的):1
2
3
4include_directories(
...
PATH_TO_CSM/deploy/include/csm
)1
2
3
4target_link_libraries(target_name
...
PATH_TO_CSM/deploy/lib/libcsm.so
)然后就能顺利编译通过了。
第二种方式:直接安装到本机上,和上面的过程差不多,在 csm 的目录下执行常规的cmake安装操作:
1
2
3
4
5mkdir build
cd build
cmake ..
make
sudo make install # 这一步会安装csm到本机上安装完成后应该能找到这几个位置:
/usr/local/include/csm
,/usr/local/lib/libcsm.so
,/usr/local/lib/libcsm-static.a
。也是一样在CMakeList.txt
做相应修改就可以了:1
2
3
4include_directories(
...
/usr/local/include/csm
)1
2
3
4target_link_libraries(target_name
...
/usr/local/lib/libcsm.so
)