前提
博主更新过cmake,是3.22.0版本,用下面这个指令查看
cmake --version
如果太旧了就更新一下,参考下面博文的方法:
Ubuntu18.04在安装ROS的情况下更新cmake_ubuntu 18.04 rosmonconfig.cmake-CSDN博客
sudo apt-get install python-pip
sudo pip install --upgrade cmake==3.22.0
hash -r
一、安装过程
首先在主目录下创建一个文件夹,用来放fcl和依赖的eigen和libccd
mdkir fcl_ws
cd fcl_ws
1.eigen安装
(1)用下面的指令检查一下是否安装了eigen
pkg-config --modversion eigen3
如果输出有版本号的话代表已经安装了eigen
#注意:装过的可以先装2、3,不行再回来装1
如果安装过eigen,先把旧的删了,参考下面博文的方法:
ubuntu 卸载安装eigen3_ubuntu卸载eigen-CSDN博客
查看eigen3位置相关文件
sudo apt-get install mlocate
sudo updatedb
locate eigen3
删除eigen3相关文件
sudo rm -rf /usr/include/eigen3
sudo rm -rf /usr/lib/cmake/eigen3
sudo rm -rf /usr/local/include/eigen3
sudo rm -rf /usr/share/doc/libeigen3-dev
sudo rm -rf /usr/local/share/pkgconfig/eigen3.pc /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums
sudo rm -rf /usr/local/lib/pkgconfig/eigen3.pc
sudo rm -rf /usr/local/share/eigen3
查询是否已经删除,没有输出即为删除成功
pkg-config --modversion eigen3
(2)删掉之后进入eigen的官网(Eigen),下载3.4.0版本的zip压缩包到fcl_ws里面
(3)解压
(4)然后打开终端,用下面的指令安装eigen
cd ~/fcl_ws/eigen-3.4.0
mkdir build
cd build
cmake ..
sudo make install
sudo cp -r /usr/local/include/eigen3 /usr/include
(5)eigen安装完成
2.libccd安装
(1)在终端中运行下面的指令下载libccd
cd ~/fcl_ws/
git clone https://github.com/danfis/libccd.git
(2)然后打开libccd文件夹里面的CMakeLists.txt文件,在第二行加下面这句话
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
(3)文件示例如下,参考的是下面博文的方法:
编译FCL时报错:/usr/local/lib/libccd.a: 无法添加符号: 错误的值_fcl编译不过_Toky丶的博客-CSDN博客
(4)保存之后,在终端输入下面的指令安装libccd
cd ~/fcl_ws/libccd
mkdir build && cd build
cmake -G "Unix Makefiles" -DBUILD_SHARED_LIBS=ON ..
make
sudo make install
(5)libccd安装完成
3.fcl安装
(1)在终端运行下面的指令下载fcl
cd ~/fcl_ws/
git clone https://github.com/flexible-collision-library/fcl.git
(2)git clone默认下载最新版本的fcl,需要旧版的可以参考这个博客:
(3)然后运行下面的指令编译fcl
cd ~/fcl_ws/fcl
mkdir build
cd build
cmake ..
make
(4)编译可能有点慢,耐心等待即可
(5)fcl编译成功!!!
(6)然后安装fcl,运行下面的指令即可
sudo make install
(7)fcl安装完成!!!