ubuntu安装eigen、pangolin库

一、安装eigen

方法一、命令行安装

sudo apt install libeigen3-dev

一般情况下,方法二同理,eigen会默认安装到/usr/include或者/usr/local/include/下的eigen目录下,需要执行复制命令,将Eigen文件夹及其内容复制到/usr/inlcude/或者/usr/local/include/下:

如果在 /usr/include

sudo cp -r /usr/include/eigen3/Eigen /usr/include

如果在 /usr/local/include

sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include

关于命令的说明:
因为eigen3 被默认安装到了usr/local/include里了(或者是usr/include里,这两个都差不多,都是系统默认的路径),在很多程序中include时经常使用#include 而不是使用#include 所以要做下处理,否则一些程序在编译时会因找不到Eigen/Dense而报错。上面指令将usr/local/include/eigen3文件夹中的Eigen文件递归地复制到上一层文件夹(直接放到/usr/local/include中,否则系统无法默认搜索到 -> 此时只能在CMakeLists.txt用include_libraries(绝对路径了))

方法二、源码安装

http://eigen.tuxfamily.org/index.php?title=Main_Page

选择合适的版本。

cd eigen-3.2.10
mkdir build
cd build
cmake ..
sudo make install

二、安装pangolin

1. 安装pangolin依赖项以及安装过程中用到的工具

ctrl+alt+t打开终端,依次输入命令,安装相关依赖和工具

sudo apt update
sudo apt upgrade
sudo apt install libglew-dev cmake libboost-dev libboost-thread-dev libboost-filesystem-dev

 

3. 下载pangolin源文件

进入安装目录后使用git工具下载pangolin源文件
官方github下载

git clone https://github.com/stevenlovegrove/Pangolin.git

镜像gitee下载(推荐使用,或者自行在gitee上搜索一个下载地址,基本上都是克隆的github上面官方的代码,选择一个较新的就行)

git clone https://gitee.com/krisnat/pangolin.git

4.安装pangolin

依次输入命令,进入刚刚下载好的源文件目录,并进行安装

makdir build && cd build
cmake ..
sudo make -j8

-j后面的数字表示make过程使用的cpu线程数,数字越大,速度越快,根据自己的电脑配置自行调整,命令nproc看线程数

sudo make install

 若要卸载,执行命令

sudo make uninstall

手动删除

sudo rm -r libeigen*

如果用VS Code需要在tasks.json的args添加lGL、lGLEW、lpangolin。

如果使用CMakeLists.txt,需要添加

cmake_minimum_required(VERSION 3.0.0)
project(slam VERSION 0.1.0)

add_executable(slam main.cpp SourceFile/EigenGeometry.cpp SourceFile/VisualizeGeometry.cpp)

cmake_policy(SET CMP0072 NEW)
 
include_directories( "/usr/include/eigen3" )
 
find_package(OpenGL REQUIRED)
include_directories(${OPENGL_INCLUDE_DIRS})
target_link_libraries(slam ${OPENGL_LIBRARIES})
 
find_package(GLEW REQUIRED)
include_directories(${GLEW_INCLUDE_DIRS})
target_link_libraries(slam ${GLEW_LIBRARIES})
 
find_package(Pangolin REQUIRED)
include_directories(${Pangolin_INCLUDE_DIRS})
target_link_libraries(slam ${Pangolin_LIBRARIES})

你可能感兴趣的:(Slam,ubuntu)