Ubuntu安装碰撞检测库FCL以及前置依赖libccd, OctoMap

Ubuntu安装碰撞检测库FCL以及前置依赖libccd, OctoMap

大致安装流程见FCL github地址,但是在安装libccd时存在一些问题。
建议完整浏览后再进行安装

1.编译libccd的报错

首先FCL页面已经说明libccd要直接克隆源码,不要下载压缩包。
其次,在安装过程中在\src文件夹中直接

$ make

会报错,如图
在这里插入图片描述
或者报错==./ccd/vec3.h:35:4: error: #error You must define CCD_SINGLE or CCD_DOUBLE==

根据libccd github-issues中提供的方法,可以通过安装m4来解决

$ sudo apt install -y m4
$ m4 -DUSE_DOUBLE ccd/config.h.m4 >ccd/config.h

然后,正常make && make install编译libccd是可以完成的,但是在后续编译fcl时可能会报错==`ccd_vec3_origin’ can not be used when making a shared object; recompile with -fPIC==

因此,还需要将/src/Makefile文件第20行

CFLAGS += -I. -fvisibility=hidden

改为

CFLAGS += -I. -fvisibility=hidden -fPIC

然后,在/src文件下清除之前对libccd的编译配置

$ make clean

然后

make && make install

编译libccd,完成后去编译fcl即可。

你可能感兴趣的:(解决方案,ubuntu,机器人)