Ubuntu20 安装 Pangolin【pybind11报错】【2023.07.12测试有效】【Slam十四讲】

花了一个下午配Pangolin环境,一直遇到报错Unknown CMake command “pybind11_add_module“,笔者在安装时找了不少教程,但是没有完全解决我的问题,因此插个树,方便后人乘凉。

安装步骤

这一部分参考Ubuntu20.04 —— 新系统从头安装ORB-SLAM3过程(2022年)

安装可能需要的依赖

# 安装Pangolin所需依赖
sudo apt install libgl1-mesa-dev
sudo apt install libglew-dev
# sudo apt install cmake # 注意以前装了就不需要安装了
sudo apt install libpython2.7-dev
# sudo apt install python-pip
# sudo python -mpip install numpy pyopengl Pillow pybind11
sudo apt install pkg-config
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols
# sudo apt install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-dev
# sudo apt install libdc1394-22-dev libraw1394-dev
# sudo apt install libjpeg-dev libpng-dev libtiff5-dev libopenexr-dev

clone,编译与安装

git clone https://github.com/stevenlovegrove/Pangolin.git  
# 或者用老版本
# git clone https://github.com/stevenlovegrove/Pangolin/tree/v0.6.git    
cd Pangolin
mkdir build && cd build
cmake ..
make -j4
sudo make install

cmake一步容易遇到问题

问题阐述:pybind环境缺失

在这里插入图片描述
提示我pybind11没有安装

方法探索

试过:

  1. git clone pybind后,用cmake编译安装pybind11

    具体步骤见:
    pybind11的安装以及库的使用(ubuntu20.14)

  2. pip直接安装pybind11
  3. pip安装pytest等等一系列东西
  4. “sudo python -mpip install pybind11”

无果

正确方法✅

一句话概括,就是Pangolin里自己有个路径放第三方库文件,但是里面的pybind11 是空的!!
因此,在github上把pybind11clone下来,然后放到对应位置就行

补充:
可能在虚拟机上也要安装pybind吧(即尝试过的方法一)但笔者认为这步不是必要的,读者可以试一试跳过这步

查找Pangolin的第三方库

进入Pangolin内

find ./ -name pybind11

找到第三方库的位置【笔者下载了两个版本的Pangolin】
编译成功前应该只有一个pybind11路径
Ubuntu20 安装 Pangolin【pybind11报错】【2023.07.12测试有效】【Slam十四讲】_第1张图片
进入该路径,发现是空的

下载pybind11

在hithub:https://github.com/pybind/pybind11
下载下来后替换掉上述空pybind11,然后再cmake ..成功!
 

希望本篇文章对你有帮助,感谢阅读~

你可能感兴趣的:(SLAM,python,ubuntu,开发语言,github,经验分享)