一、準備階段

1、開發環境的準備html

一、編程環境爲ubuntu 14.04 64bit;python

二、Opencv的安裝c++

1)使用從源代碼安裝的模式, 安裝的版本號爲opencv-2.4.12,其下載地址爲http://opencv.org/downloads.html編程

2)安裝依賴項,以下ubuntu

sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev網絡

3)解壓下載的OpenCV目錄,而後進行編譯和安裝函數

mkdir build
cd build
cmake ..
make
sudo make install
工具

安裝後的頭文件位置位於學習

安裝後的庫文件位於測試

備註:Linux下的c++編譯工具抽象程度的遞增,g++,makefile,cmake。

三、PCL(Point cloud library)的安裝

因爲深度相機採集的數據就是點雲數據,PCL的官網地址爲http://pointclouds.org;

針對14.04及如下的版本安裝方式,須要私有源來安裝(注意不一樣網絡可能致使安裝不一樣)

1 sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
2 sudo apt-get update
3 sudo apt-get install libpcl-all

因爲在16.04當中,PCL庫已經在公有源當中,採用直接安裝

sudo apt-get install libpcl-dev pcl-tools

注意,在16.04當中PCL的配置彷佛有bug,須要在cmakelist中添加一條指令修復。

頭文件位於

庫文件暫未找到??

2、編寫一個測試程序

 首先,構建一個CMake項目,在Linux下的CMake項目一般由幾個文件夾組成,以下

假設根文件夾是RGB-D_SLAM,

裏面的子文件夾目錄

bin目錄:存放生成的二進制可執行程序;

src目錄:源代碼存放目錄;

include目錄:頭文件存放目錄;

lib目錄:存放編譯好的庫文件目錄;

有了以上目錄,那麼經過CMakeLists.txt文件把目錄結構告訴cmake工程,由於cmake在生成代碼時,會去讀取這個文件,並按照它裏面的格式來編譯你的代碼,全部要

touch CMakeLists.txt

並寫入以下內容:

CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) #設定版本
PROJECT( slam ) #設定工程名

SET(CMAKE_CXX_COMPILER "g++") #設定編譯器
#設定可執行二進制文件的目錄
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

#設定存放編譯出來的庫文件的目錄
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

#把庫文件目錄做爲鏈接目錄
LINK_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib) 
#設定頭文件目錄
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/include )

#增長子文件夾,也就是進入源代碼文件夾繼續構建
ADD_SUBDIRECTORY( ${PROJECT_SOURCE_DIR}/src )

備註:能夠學習CMake實踐電子書

注意庫文件和二進制的區別和聯繫:二進制就是能夠直接運行的程序啦,庫文件呢,就是爲這些二進制提供函數的啦。有main函數的代碼能夠編譯成二進制,其餘的則編譯成庫文件。連接時,把庫文件鏈到二進制上,就能夠運行。

下面實例聯繫:

在src目錄下新建一個文件main.cpp

下面要把這個源代碼生成一個二進制文件,則在src目錄下新建一個文件CMakeLists.txt

而後,回到根目錄下,執行以下操做

1 mkdir build
2 cd build
3 cmake ..
4 make

編譯經過就會在bin目錄下生成一個二進制文件。

這一課的主要目的就是爲了熟悉Linux下CMake項目的創建,以及OpenCV和PCL環境的創建。

總結:

CMakeLists.txt文件,把可執行文件的生成放在src目錄下

主函數要調用該庫文件,須要新建一個頭文件,而後在主函數文件裏面經過#include來包含該頭文件便可調用本身製做的庫文件

相關文章
相關標籤/搜索