在ubuntu上安装Cmake、opencv2.4.9、PCL1.8、g2o

ubuntu上安装Cmakeopencv2.4.9PCL1.8g2o

 

本教程用到的软件和工具可以在百度网盘下直接下载(想下载别的版本的下面也有官网下载链接):

链接: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 <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
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"<<endl;
        return -1;
    }
namedWindow("Display Image", CV_WINDOW_AUTOSIZE);
    imshow("Display Image", img);
    waitKey(0);
    return 0;
}

再新建一个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安装

 

githubPCL1.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安装

 

githubg2o源码: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

猜你喜欢

转载自blog.csdn.net/alan_1550587588/article/details/71745190
g2o