Ceres
卸载Ceres
Ceres只有一个库文件在"/usr/local/lib"中,并且所有头文件都在"/usr/local/include/ceres"中
sudo rm -r /usr/local/lib/cmake/Ceres
sudo rm -r /usr/local/include/ceres /usr/local/lib/libceres.a
安装Ceres
- 下载最新版Ceres
- 安装
mkdir build && cd build
cmake ..
make
sudo make install
- 20.04版本上编译ceres失败,需要安装依赖
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev
出现问题 E:Unable to locate package libcxsparse3.1.2
sudo gedit /etc/apt/sources.list
deb http://cz.archive.ubuntu.com/ubuntu trusty main universe //添加到第一行
sudo apt-get update
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev
使用Ceres
在编写使用到Ceres的工程时 CMakeLists.txt应该有
find_package(Ceres REQUIRED)
include_directories(${Ceres_INCLUDE_DIRS})
target_link_libraries(可执行文件名 ${CERES_LIBRARIES})
//最新的Ceres需要在CMakeLists.txt使用C++14标准
set(CMAKE_CXX_FLAGS "-std=c++14 -O3")
Ceres学习
- 从0开始学习Ceres NO.1
- 从0开始学习Ceres NO.2
- 从0开始学习Ceres NO.3
- 优化库——ceres(二)深入探索ceres::Problem
g2o
卸载g2o
g2o安装在 ”/usr/local/bin, /usr/local/include, /usr/local/lib"三个文件夹中,进入三个文件夹,在终端输入
sudo rm -rf *g20*
安装g2o
git clone https://github.com/RainerKuemmerle/g2o # 克隆最新版本g2o
cd g2o
mkdir build
cd build
cmake ..
make -j10 # 注意,这里尽量使用更多的j,否则g2o安装很慢(-j4 -j6等等)
sudo make install
CMakeLists.txt中引用g2o 需要使用list 和 set,最后链接库文件的时候用的是 g2o_core 和 g2o_stuff
LIST( APPEND CMAKE_MODULE_PATH /home/mjy/slambook2/3rdparty/g2o/g2o/cmake_modules )
SET( G2O_ROOT /usr/local/include/g2o )
find_package(G2O REQUIRED)
include_directories(${G2O_INCLUDE_DIRS})
add_executable(g2oCurveFitting g2oCurveFitting.cpp)
target_link_libraries(g2oCurveFitting g2o_core g2o_stuff)
g20的学习与使用
g2o库的学习与使用
OpenCV
OpenCV
unbuntu18.04自带opencv3.2.0版本和安装opencv4.5.0版本
安装过程
1. 首先进入opencv4.5的目录下,创建并进入build文件
2. $ cd opencv4.5
3. $ mkdir build && cd build
在/usr/local目录下创建空文件夹opencv45,通过cmake命令设置opencv的打包目录,这一步是重点,opencv默认的打包路径为/usr/local,为了使opencv多版本共存,必须将不同版本的opencv打包到不同的目录下,核心问题在于 CMAKE_INSTALL_PREFIX=…
sudo mkdir /usr/local/opencv45
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local/opencv45 ..
make -j10 //根据电脑核心数
sudo make install //开始配置opencv到opencv45下
打开配置 ~/.bashrc,在文件末尾添加以下代码,并通过source生效,需要opencv3.2.0时注释掉下面两行
export PKG_CONFIG_PATH=/usr/local/opencv45/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv45/lib
查看opencv版本
pkg-config --modversion opencv
由于opencv4自己没有pkgconfig这个文件,可以把ubuntu自带opencv3下的/usr/lib/x86_64-linux-gnu/pkgconfig/opencv.pc 文件复制到/usr/local/lib/pkgconfig/ 下
使用
在写CMakeLists.txt时,如果只有一个版本的opencv,我们一般直接使用
find_package(OpenCV REQUIRED) //使用系统默认的opencv3.2.0
使用opencv4.5.0
set(OpenCV_DIR /usr/local/opencv45/share/OpenCV) // set(CMAKE_PREFIX_PATH "/usr/local/opencv45")
find_package(OpenCV 4 REQUIRED)
Eigen
Eigen是C++中一个开源模板库,支持线代运算,矩阵、矢量运算,数值分析几其相关的算法。
Eigen安装
- 终端apt安装
1. sudo apt-get install libeigen3-dev
Eigen只包含头文件,因此它不需要编译,只需要引入头文件即可编译项目。Eigen头文件默认安装位置:/usr/local/include/eigen3 为了在使用是包含头文件 #include <Eigen/Core> ,而不是 #include <eigen3/Eigen/Core> ,需要讲eigen复制到/usr/local/include/下
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include
- 源码安装Eigen官网:下载对应版本
cd eigen-3.4.0
mkdir build
cd build
cmake ..
sudo make install
#安装后,头文件安装在/usr/local/include/eigen3/
#移动头文件
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include