原文:https://blog.csdn.net/shanpenghui/article/details/79259794
过程有些细节要注意,还是记录一下吧。
1.先安装cmake
非常重要,否则如果用Ubuntu 14.04.5 的sudo apt-get install cmake 只能是3.2.2版本,会有点旧导致编译不过,要重装的话会导致indigo重装。
安装高版本的cmake要去官方网站下载cmake源码编译安装。
地址是:https://cmake.org/files/
自己在里面选择版本,我选择的是3.7.2。
2.下载好cmake源码之后进行解压安装
这里用指令解压缩到当前的文件夹中(自己设置好路径):
tar zxvf cmake-3.7.2-Linux-x86_64.tar.gz
3.添加路径和软链接
这里就会发现,下载的包里面并没有网上说的./bootstrap和./configure文件,而且用什么unpack、yum等方法都不行(反正我自己试了一会发现都不太靠谱),原因就是解压缩之后其实就是可以直接用的版本了不需要自己再去编译,只要在系统新增软链接到解压缩出来的文件夹里的cmake就可以用了,自己对应的把压缩包的名字和路径改一下,建立软链接的时候要对应好自己mkdir里面的设置:
sudo mkdir /opt/cmake && sudo tar xvf cmake-3.7.2-Linux-x86_64.tar.gz
sudo ln -s /opt/cmake/bin/cmake /usr/bin/cmake
4.确认cmake安装正确:
这时候应该就安装正确了,输入指令自己确认一下:
cmake --version
5.安装好cmake之后,开始安装opencv 3.3.1
去官方网站上下载源码压缩包:
https://opencv.org/releases.html
我下载的是3.3.1版本的opencv
6.解压缩到文件夹中并自己建立一个build文件夹
tar zxvf opencv-3.3.1.zip
cd opencv-3.3.1
mkdir build
7.打开刚才安装好的cmake-gui并编译opencv
source里面选择当前 opencv-3.3.1整个文件夹
build里面选择刚才建立的新文件夹build
选择系统默认编译进行编译
8.这个时候,若出现什么下载ippicv的情况,这样解决:
自己去下载一个压缩包,地址是:
https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20170822
下载好之后解压会发现里面有很多个版本的ippicv,自己选择提示的那个,我选择的是:
ippicv_2017u3_lnx_intel64_general_20170822.tgz
方法1:
打开终端,输入
gedit /home/lc/opencv_source/opencv/3rdparty/ippicv/ippicv.cmake #记得lc换成自己的用户名
将47行的
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
改为步骤1中手动下载的文件的本地路径:
"file:///home/lc/下载/" #(仅供参考,根据自己的路径填写)
最后重新cmake 编译
方法2:
解压缩之后,把这个单独的压缩包放入ubuntu的home的downloads文件夹下面,
然后进入~/Downloads/opencv3.3.1文件夹创建一个.cache文件夹,并拷贝相应的文件,
cd ~/Downloads/opencv3.3.1
ipp_file=ippicv_2017u3_lnx_intel64_general_20170822.tgz &&
ipp_hash=$(md5sum ~/Downloads/$ipp_file | cut -d" " -f1) &&
ipp_dir=.cache/ippicv &&
mkdir -p ${ipp_dir} &&
cp ~/Downloads/$ipp_file $ipp_dir/$ipp_hash-$ipp_file
这样CMake就会使用下载好的ippicv_2017u3_lnx_intel64_general_20170822.tgz文件,而不是在运行过程中去下载
9.这个时候重新编译,记住要把之前build里面的东西都删除了,打开cmake-gui再重来一遍
然后在build文件夹里面输入
make (-j8)
10.这样opencv就可以编译通过了,然后进行安装
然后在build文件夹里面输入
sudo make install
11.安装好之后根据ros官方网站上的教程把indigo安装好
地址是:http://wiki.ros.org/cn/indigo/Installation/Ubuntu
12.安装好之后去mrpt官网上下载mrpt的源码
地址是:https://www.mrpt.org/download-mrpt/
13.然后参考步骤6和7对mrpt,用cmake-gui和cmake进行编译,编译好之后
然后在build文件夹里面输入
sudo make install
这样mrpt就安装好了
14.要安装mrpt_brodge,需要先去下载源码
地址是:
http://wiki.ros.org/mrpt_bridge
https://github.com/mrpt-ros-pkg/mrpt_navigation.git
http://wiki.ros.org/mrpt_navigation/Tutorials/Installing
有版本选择的!!!自己选择好对应的版本!!!别选择错了!!!
15.下载好了之后,解压缩获得源码
16.建立ros workspace,步骤参考ros教程
http://wiki.ros.org/catkin/Tutorials/create_a_workspace
17.创建好之后,把mrpt_bridge的源码丢到src文件夹下面
18.用catkin_make指令可能会发现编译不过,自己又要去下载需要的源码:
marker_msgs
pose_cov_ops
下载完成之后把源码解压缩到src下面,和mrpt_navigation下面的一大堆msgs一起一个文件夹
19.这个时候就可以编译通过了
之后呢,一定要输入该指令:
source <your_catkin_ws>/devel/setup.bash
如果编译出错include <libfreenect.h> no find , 先locate libfreenect.h 查看是否有该文件,如果有,修改编译出错的文件
#if MRPT_HAS_KINECT_FREENECT
# if defined(__APPLE__)
# include <libfreenect/libfreenect.h>
# else
//# include <libfreenect.h>
# include <libfreenect/libfreenect.h>
#endif
如果没有,
git clones https://github.com/OpenKinect/libfreenect
sudo apt-get install build-essential cmake pkg-config libturbojpeg libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev
sudo apt-add-repository ppa:floe/libusb
sudo apt-get update
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libglfw3-dev
cd libfreenect2 && mkdir build && cd build
cmake .. && make -j7
下载源码编译
是指你的mrpt_navigation的workspace的文件夹路径
20.到此,全部东西都安装好了,只要自己新建一个自己的wworkspace,把自己的源码丢进去编译就行了。