本教程用到的软件和工具可以在百度网盘下直接下载(想下载别的版本的下面也有官网下载链接):
链接:http://pan.baidu.com/s/1bLtXx0 密码:3x98
一、Cmake的安装
官网下载Cmake:https://cmake.org/download/
1、把cmake-3.8.1.tar.gz压缩包放到想放到的目录(Cmake的安装路径默认在:/usr/local/中),然后解压,解压命令:sudo tar -zxvf cmake-3.8.1.tar.gz
2、进入Cmake文件夹:cd cmake-3.8.1
3、执行 sudo ./bootstrap 如果出现如下错误提示
Error when bootstrapping CMake Cannot find appropriate C++ compiler on this system Please specify one using environment variable CXX…
则执行: sudo apt-get install build-essential 安装gcc-c++,然后再从新执行步骤3的命令
4、执行sudo make
5、执行 sudo make install
6、执行 cmake --version(注意cmake和--中间有空格)如果输出Cmake的版本则说明安装成功
cmake version 3.8.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
二、OpenCV的安装
官网下载OpenCV源代码:https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download
a、配置依赖项
安装opencv前,需要先安装依赖项,执行:
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev
在这里我遇到了报错:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
下列软件包有未满足的依赖关系:
build-essential : 依赖: libc6-dev 但是它将不会被安装 或
libc-dev
依赖: gcc (>= 4:4.4.3) 但是它将不会被安装
依赖: g++ (>= 4:4.4.3) 但是它将不会被安装
libgtk2.0-dev : 依赖: libglib2.0-dev (>= 2.27.3) 但是它将不会被安装
依赖: libgdk-pixbuf2.0-dev (>= 2.21.0) 但是它将不会被安装
依赖: libpango1.0-dev (>= 1.20) 但是它将不会被安装
依赖: libatk1.0-dev (>= 1.29.2) 但是它将不会被安装
依赖: libcairo2-dev (>= 1.6.4-6.1) 但是它将不会被安装
依赖: libxrandr-dev (>= 2:1.2.99) 但是它将不会被安装
libtiff4-dev : 依赖: libtiff5-dev (> 4.0.3-6~) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
这些报错表示有些依赖库没有安装或者版本和需要的版本不一样,需要安装:
第一个build-essential的依赖问题,分别执行:
sudo aptitude update
sudo aptitude install build-essential
第二个libgtk2.0-dev依赖问题,执行:
sudo aptitude install libgtk2.0-dev
第三个libtiff4-dev依赖问题,网上博客说,执行这个命令:
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev cmake libswscale-dev libjasper-dev
b、编译opencv
1、执行 cmake .
2、执行 make
3、执行 sudo make install
4、下面配置library,打开/etc/ld.so.conf.d/opencv.conf,在末尾加入/usr/local/lib (有可能是个空文件,没关系)
5、执行 sudo ldconfig
6、然后编辑/etc/bash.bashrc 加入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
至此,opencv安装配置完毕,下面开始测试
---------------------------------------------------------------------------------------------
在一个目录下放置一张图片,命名为0.jpg, 再新建一个show.cpp文件,添加如下代码:
#include
#include
using namespace cv;
using namespace std;
int main(int argc, char **argv)
{
Mat img;
img = imread(argv[1], 1);
if (argc != 2 || !img.data) {
cout<<"No image data.\n"<
再新建一个CMakeLists.txt,添加如下内容:
cmake_minimum_required(VERSION 2.8)
project(opencvtest)
find_package( OpenCV REQUIRED )
add_executable( opencvtest opencvtest.cpp )
target_link_libraries( opencvtest ${OpenCV_LIBS} )
进入这个文件夹下,执行
cmake ..
Make
./ opencvtest 0.jpg
此时就可以看到打开的图片了。
三、PCL安装
github上PCL1.8源码:https://github.com/PointCloudLibrary/pcl
1、执行 sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
2、执行 sudo apt-get update
3、执行 sudo apt-get install libpcl-all
PCL安装完成!
四、g2o安装
github上g2o源码:https://github.com/RainerKuemmerle/g2o
a、安装依赖项
执行 sudo apt-get install libeigen3-dev libsuitesparse-dev libqt4-dev qt4-qmake libqglviewer-qt4-dev
b、解压g2o并编译安装:
1、执行 mkdir build
2、执行 cd build
3、执行 cmake ..
4、执行 make
5、执行 sudo make install
g2o安装完成!
安装成功后,可以在/usr/local/include/g2o中找到它的头文件,而在/usr/local/lib中找到它的库文件
参考博客:
Cmake: http://blog.csdn.net/wz3118103/article/details/39826397
OpenCV:http://www.linuxidc.com/Linux/2016-07/132879.htm
PCL:http://blog.csdn.net/zs1503/article/details/51079506
g2o:http://blog.csdn.net/yoouzx/article/details/53083496?locationNum=2&fps=1