简介

FCL是一个用于碰撞检测和碰撞可能性估计的开源库,经常和SLAM中的八叉树地图Octomap一起在路径规划中使用。

下载

FCL官网提供了多种下载的方式,第一种是下载ros中的FCL库,但是fuerte对应的是Ubuntu12.04,而我尝试着下载melodic版本的FCL,却被告知没有找到软件源。因此建议使用第二种方式,也即在github上下载。github的地址:https://github.com/flexible-collision-library/fcl

值得注意的是,github网站上有FCL库的多个版本,从0.3.0到0.7.0,而从0.6.0开始FCL的开发者对FCL库的目录、代码等都做了修改,导致有点面目全非。有些路径规划的源代码用的就是FCL库的历史版本,如果使用新版本编译,就会报错,诸如头文件目录不对、函数参数列表不正确等等的错误。

如果想要下载历史版本,可以点击网页右边的releases,进去后选择历史版本的assets,便可以下载zip或者tar.gz的压缩包。如下图:

目前FCL库的历史版本只能下载压缩包,无法使用git clone -b version来下载。如果想下载最新版本,则直接键入:

git clone https://github.com/flexible-collision-library/fcl.git

安装

FCL库的安装步骤较为简单,只需执行以下步骤:

cd fcl
mkdir build
cd build
cmake ..
make
sudo make install

最后一步值得注意,它会把FCL的静态库文件放到usr文件夹中。

链接FCL库

主要是CMakeLists.txt中的引用比较麻烦。一开始以为按部就班三部曲:find_package、include_directories、target_link_libraries即可。但是在生成可执行文件时,总是报“xx函数未定义的引用”的错。网上也说了这是识别不了函数实现的cpp文件的原因。但是具体怎么写还是不清楚。最后摸索出来只需要多一步link_libraries,直接给编译器指定静态库绝对路径。因此FCL库的引用如下:

find_package(FCL REQUIRED)
include_directories(${FCL_INCLUDE_DIRS})
link_libraries("/usr/local/lib/libfcl.so.0.5.0" "/usr/local/lib/libfcl.so.7" "/usr/local/lib/libfcl.so")

这里指定了绝对路径后target_link_libraries中可以不用写。link_libraries中的路径可以在刚才执行sudo make install时看到:

至此FCL库链接完毕。

FCL碰撞检测开源库的安装和链接相关推荐

  1. Redis中使用Lua脚本(续)- Linux下Lua-cjson开源库的安装和使用

    Redis中使用Lua脚本(续)- Lua-cjson开源库的安装和使用 问题 原因 解决方案 在Redis的lua脚本编写中,我们可能会用到json的序列化和反序列化. Json序列化: -- Re ...

  2. MQTT开源库mosquitto安装和使用(一)

    文章目录 1.下载和安装 1.1.下载地址 1.2.安装 1.2.1.二进制安装 1.2.2.windows版本二进制安装 1.2.2.1.下载和安装 1.2.2.2.配置环境变量 1.2.2.3.启 ...

  3. 对开源库 limdu 命令注入漏洞 (CVE-2020-4066) 的简要分析

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 开源库Limdu 的 trainBatch 函数中存在一个命令注入漏洞 (CVE-2020-4066). Limdu 是 Node.j ...

  4. 【已解决】nimfa 环境的详细搭建过程 + 各种依赖库的安装、下载、调试

    为方便交流学习,工具已整理上传至CSDN.作者:玉林师范学院计算机系 guomutian911. 开源包下载地址: 也可邮件获得,316190672@qq.com Numpy 下载地址:http:// ...

  5. Libra 骗局来了;嫦娥五号将利用 AI 确定登陆位置;GitHub 移除色情应用 DeepNude 的开源库 | 开发者周刊...

    整理 | 张红月 出品 |CSDN(ID:CSDNnews) 本周热门项目    独立开发者赚钱的资源集合(下附链接) https://github.com/lightningminers/aweso ...

  6. Python库的安装详解

    安装非标准Python库 Python标准库中,用于网页数据采集的有urllib库,同样,有很多优秀的开源库,像BeautifulSoup库.Requests库等.  接下来就介绍一些开源库的安装方法 ...

  7. react-native 为本地js和开源库的js编写.d.ts声明文件

    读书不觉已春深 !明日清明节 在使用Typescript编写程序RN过程中遇到困扰,且不论react,不论在浏览器中,只论写react-native的APP,怎么使用 declare声明文件 和 na ...

  8. 2022-3-15 安装fcl的依赖库ccd,动态链接库和静态链接库

    GitHub libccd 库 默认是静态链接库,cmake安装其为动态 To build libccd as a shared library, set the BUILD_SHARED_LIBS ...

  9. 2019最新Android常用开源库总结(附带github链接)

    前言 收集了一些比较常见的开源库,特此记录(已收录350+).另外,本文将持续更新,大家有关于Android 优秀的开源库,也可以在下面留言. 一 .基本控件 1.TextView HTextView ...

最新文章

  1. pip 更新失败报[no module named pip]修复方法
  2. camera tweak android,苹果iPhone相机大提升 CameraTweak2超强大的拍照增强插件
  3. java基础 第八章(静态成员的调用 、 封装)
  4. 银行不断爆雷,金融业苦日子刚刚开始
  5. [新手学go]关于go语言中的变量重复声明
  6. 中小企业信息化及市场
  7. 一文讲清,MySQL数据库一行数据在磁盘上是怎么存储的?
  8. python编程快速上手第四章_《Python编程快速上手——让繁琐的工作自动化》读书笔记 第四章 列表...
  9. php mysql 空值_PHP / MySQL插入空值
  10. linux内核通俗理解,简洁明了!高手带你理解ARM-Linux的启动过程
  11. HDU 5009 Paint Pearls
  12. JAVA版村庄哨塔种子_我的世界:top16种子,出生5村庄、地狱堡垒、2哨塔和一堆遗迹...
  13. ps界面为啥突然变大了_PS如何用快速蒙版抠图,超实用的技巧!!!
  14. 解决端口占用问题 Port xxxx was already in use
  15. linux的网易云音乐界面不显示,linux mint19.1解决网易云音乐安装后打不开的问题...
  16. 站桩是为了理气,气顺了,人自然就不会生病
  17. 推荐书籍 《半小时漫画经济学1--生活常识篇》
  18. 手机APP从服务器获取列表和详情
  19. 前端页面----昵图网(简单版)
  20. 单片机c语言篮球比分_单片机课程设计篮球计时计分器正文1

热门文章

  1. 211228 --- JavaScript实现IP访问限制
  2. 一个js实现银行卡号*格式化方法的演变
  3. javascript:时间戳转换为日期时间
  4. android 代码解压,Android开发之旅-解压压缩zip文件(带子目录和中文路径)
  5. php企业网站通讯录管理系统,EML企业通讯录管理系统v5.4.15 经典版+手机端实时查看人员联系方式+客户关系管理系统...
  6. 为什么程序员工位上总会摆着小黄鸭?
  7. mysql卸载与重装(压缩包版)
  8. [零基础]用docker搭建Hadoop集群
  9. Java编程思想第四版第十一章习题(下)
  10. DataVisor大数据独创算法,实现真正智能的反欺诈预警