Ubuntu16.04-Clion-Eigen3-Pangolin-PCL

1.首先安装Clion:

1)解压
2)进入bin文件./clion.sh
3)使用Activation code激活

2. 安装Eigen3

1)查看Eigen的包$ apt-cache search eigen3

2)下载Eigen$ sudo apt-get install libeigen3-dev

3)查看Eigen安装路进,用apt装的话就是在/usr/include的。手动编译才可能变掉。
$ whereis eigen3
eigen3: /usr/include/eigen3
或者使用:
$ sudo updatedb
$ locate eigen3

4) clion-CMakelists.txt中添加
include_directories(/usr/include/eigen3)

5)输入代码测试:

#include <iostream>
#include <Eigen/Dense>
using namespace Eigen;
using namespace std;
int main()
{
    MatrixXd m = MatrixXd::Random(3,3);
    m = (m + MatrixXd::Constant(3,3,1.2)) * 50;
    cout << "m =" << endl << m << endl;
    VectorXd v(3);
    v << 1, 2, 3;
    cout << "m * v =" << endl << m * v << endl;
}

3.安装Pangolin

1) use pangolin: slambook/3rdpart/Pangolin
or download it from github: https://github.com/stevenlovegrove/Pangolin

2)安装依赖项
install dependency for pangolin (mainly the OpenGL):
sudo apt-get install libglew-dev

3)compile and install pangolin
cd [path-to-pangolin]
mkdir build
cd build
cmake …
make
sudo make install
安装成功。

4)clion-CMakelists.txt如下:

cmake_minimum_required(VERSION 3.10)
project(visualizeGeometry)
set(CMAKE_CXX_STANDARD 11)
 添加Eigen头文件
include_directories( "/usr/include/eigen3" )
#添加Pangolin依赖
find_package( Pangolin )
include_directories( "/usr/local/include/pangolin" )
add_executable(visualizeGeometry main.cpp)
target_link_libraries( visualizeGeometry ${Pangolin_LIBRARIES} )

4.安装Sophus

git clone http://github.com/strasdat/Sophus.git
cd sophus
git checkout a621ff
mkdir build
cd build
cmake ..
make

5.安装PCL

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl  //加入源
sudo apt-get update  //更新
sudo apt-get install libpcl-dev pcl-tools

运行测试程序时出现以下错误:
make[2]: *** No rule to make target ‘/usr/lib/x86_64-linux-gnu/libproj.so’, needed by ‘joinMap’. Stop.

CMakeFiles/Makefile2:67: recipe for target ‘CMakeFiles/joinMap.dir/all’ failed
make[1]: *** [CMakeFiles/joinMap.dir/all] Error 2
Makefile:83: recipe for target ‘all’ failed
make: *** [all] Error 2
*** Failure: Exit code 2 ***

解决方法,执行sudo apt-get install libproj-dev

再次编译出现以下错误:
– Build files have been written to: /home/wd/code/slambook-master/ch5/joinMap/build
[ 50%] Linking CXX executable joinMap
/usr/bin/ld: cannot find -lvtkproj4
collect2: error: ld returned 1 exit status
CMakeFiles/joinMap.dir/build.make:349: recipe for target ‘joinMap’ failed
make[2]: *** [joinMap] Error 1
CMakeFiles/Makefile2:67: recipe for target ‘CMakeFiles/joinMap.dir/all’ failed
make[1]: *** [CMakeFiles/joinMap.dir/all] Error 2
Makefile:83: recipe for target ‘all’ failed
make: *** [all] Error 2
*** Failure: Exit code 2 ***

解决方法:需要在cmakelist中加一条指令修复,即在add_executable语句前面加上list(REMOVE_ITEM PCL_LIBRARIES “vtkproj4”)

参考自:
https://www.cnblogs.com/sincere-diligence/p/9336045.html
https://blog.csdn.net/sgdd123/article/details/80099003
https://blog.csdn.net/danmeng8068/article/details/77341532

6.Ceres

1)首先安装ceres的依赖库:
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.4 libgflags-dev libgoogle-glog-dev libgtest-dev
2)从github上下载源码:https://github.com/ceres-solver/ceres-solver
3)编译安装:
cd 安装包文件路径
mkdir build
cd build
cmake …
make -j8
sudo make install
4)头文件:/usr/local/include/ceres/
库文件:/usr/local/lib/libceres.a

7.g2o

1)安装依赖库:
sudo apt-get install libqt4-dev qt4-qmake libqglviewer-dev
可选:
libcholmod3.0.6 qtdeclarative5-dev qt5-qmake libcxsparse3.1.4 libsuitesparse-dev
2)从github上下载源码:https://github.com/RainerKuemmerle/g2o
3)编译安装:同上。
4)头文件:/usr/local/include
库文件:/usr/local/lib/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章