MRPT筆記——MRPT在VS2013中的配置


 

  Mobile Robot Programming Toolkit (MRPT)是一個跨平台的、開源的C++庫,旨在幫助機器人研究員設計和實現SLAM、機器視覺和運動規划(避障)的算法。

  MRPT為移動機器人開發者提供了可移植的開發庫,它涵蓋了移動機器人領域常見的數據結構和算法,是該領域的開發者應該去了解和學習的開源軟件。

 

  一、環境

    windows 7 32bit,VS2013 

 

  二、准備工作

  1、Cmake

    下載地址:https://cmake.org/download/

    下載合適自己系統的版本,安裝即可。

 

  2、wxWidgets

    下載源碼包wxWidgets-3.1.0,下載zip或7z。下載地址 http://www.wxwidgets.org/downloads/

    另外還要下載wxWidgets手冊Manual ZIP。

    將其解壓到C:\wxWidgets-x.x 或D:\wxWidgets-x.x

  

    打開MSVC 32位終端 (開始菜單 -》 Visual Studio 2013 -》 Visual Studio Tools -》 VS2013 x86 本機工具命令提示)

    打開到X:\wxWidgets\build\msw

    

    執行以下命令:  

nmake -f makefile.vc BUILD=release SHARED=1 RUNTIME_LIBS=dynamic DEBUG_INFO=0 VENDOR=mrpt USE_OPENGL=1
nmake -f makefile.vc BUILD=debug SHARED=1 RUNTIME_LIBS=dynamic DEBUG_INFO=1 VENDOR=mrpt USE_OPENGL=1

  

    如是64位,則打開MSVC 64位終端,執行以下命令:  

nmake -f makefile.vc BUILD=release SHARED=1 RUNTIME_LIBS=dynamic DEBUG_INFO=0 VENDOR=mrpt USE_OPENGL=1 TARGET_CPU=amd64
nmake -f makefile.vc BUILD=debug SHARED=1 RUNTIME_LIBS=dynamic DEBUG_INFO=1 VENDOR=mrpt USE_OPENGL=1 TARGET_CPU=amd64

 

  3、OpenCV

    建議使用OpenCV2.4.0或以上版本

    下載地址:http://opencv.org/

    可以下載相應系統的對應版本,也可以下載源碼后用Cmake進行編譯。前者直接下載安裝即可,后者可以參考其他文章,具體過程后續補上。

 

  4、FFmpeg for Win32

    下載地址:https://ffmpeg.zeranoe.com/builds/

    下載合適的版本,如下載的是32位,解壓到D:\ffmpeg-r16537-gpl-lshared-win32

    打開計算機環境配置,添加路徑PATH:D:\ffmpeg-r16537-gpl-lshared-win32\bin

 

  5、zlib

    下載zlib,下載地址:http://www.zlib.net/

    直接下載  zlib source code, version 1.2.8, zipfile format 

    解壓到文件夾(可自行放置),比如我放在D:/

    打開cmake-gui.exe,設置

    where is the source:  D:/zlib-1.2.8
    where to build:  D:/zlib-1.2.8/win32

    點擊Configure,沒什么錯誤,可直接點Generate

    點擊Open Project,VS2013會打開該項目文件。

    選擇Debug,進行編譯。

    選擇Release,再進行編譯。

    打開目錄D:/zlib-1.2.8/win32,將該目錄下的zconf.h賦值到根目錄下D:/zlib-1.2.8。否則,后面可能會出現錯誤 : error C1083: 無法打開包括文件: “zconf.h" 。 

 

 

  三、配置MRPT

  1、下載

    下載地址:http://www.mrpt.org/download-mrpt/

    本文下載Binaries (precompiled) for Windows VS2013 32bit版本。

    直接安裝,如安裝到D:\Program Files\mrpt-1.4.0

    新建自定義目錄,作為MPRT編譯工作目錄,如本文D:\MRPT\buildVS2013(該目錄可自行定義)

 

  2、Cmake(cmake-core)配置

    (1)設置

      Where is the source code : D:/Program Files/mrpt-1.4.0

      Where to build the binaries: D:/MRPT/buildVS2013

      第一次點Configure,會出現很多問題,一個個解決。

    

  

    (2)詳細配置(部分設置需要勾選Advanced才能出現)

      1)MRPT_HAS_FFMPEG_WIN32 使能

      點擊Configure,會出現紅框選項FFMPEG_WIN32_ROOT_DIR

      設置FFMPEG_WIN32_ROOT_DIR = D:/ffmpeg-r16537-gpl-lshared-win32

    

      2)設置OPENCV路徑

      OPENCV_DIR = D:/opencv/build

      

      3)設置wxWidget路徑

      wxWidgets_ROOT_DIR = D:/wxWidgets-3.1.0

      wxWidgets_LIB_DIR = D:/wxWidgets-3.1.0/lib/vc_dll

      

      4)設置zlib路徑

      ZLIB_INCLUDE_DIR = D:/zlib-1.2.8

      ZLIB_LIBRARY_DBG = D:/zlib-1.2.8/win32/Debug/zlibd.lib

      ZLIB_LIBRARY_REL = D:/zlib-1.2.8/win32/Release/zlib.lib

      出現 Found ZLIB **** 則表示正確配置。

 

    (3)其他配置

      BUILD_APPLICATIONS:默認為ON。如果未選上,則不能生成應用軟件。如不需要,可以取消。建議第一次使用MRPT時,請勾選,可以深入了解其中的代碼及過程。

      BUILD_APP_**:默認為ON。對應的應用軟件,如不用編譯,可以不勾選。

      BUILD_ARIA:默認ON。是否生成用於連接Activemedia機器人的ARIA庫,如未使用,請取消。

      PCL_DIR:PCL點雲庫。如需使用,請先安裝PCL點雲庫。

      BUILD_KINECT:默認ON。如未使用Kinect,可以取消。      

      BUILD_ROBOPEAK_LIDAR:默認ON。RobotPeak Lidar配置。

      

    再一次點擊Configure,基本選項配置如下:

     ______________________ OPTIONAL LIBRARIES ______________________

    Assimp (3D models) : Yes (Built-in) [Version: 3.1.1]

    eigen3 : Yes (Built-in) [Version: 3.2.5]

    ffmpeg libs (Video streaming) : Yes (System) [avcodec , avutil , avformat ]

    gtest (Google unit testing library) : Yes (Built-in)

    Intel threading lib (TBB) : No

    lib3ds (3DStudio scenes) : Yes (Built-in)

    libclang (for ConvertUTF) : Yes (Built-in)

    libjpeg (jpeg) : Yes (Built-in)

    liblas (ASPRS LAS LiDAR format) : No

    mexplus : No

    OpenCV (Image manipulation) : Yes (System) [Version: 2.4.13]

    OpenGL : Yes (System)

    GLUT : Yes (Built-in)

    PCAP (Wireshark logs for Velodyne) : No

    PCL (Pointscloud library) : No [Version: ]

    SuiteSparse : No

    wxWidgets : Yes (System)

    zlib (compression) : Yes (Built-in)

    yamlcpp (YAML file format) : No [Version: ]

  

    _____________________ HARDWARE & SENSORS _______________________

    libdc1394-2 (FireWire capture) : No

    DUO3D Camera libs : No

    National Instruments...

    ...NIDAQmx? : No

    ...NIDAQmx Base? : No

    NITE2 library : No

    OpenKinect libfreenect : No

    OpenNI2 : No

    PGR FlyCapture2 : No

    PGR Triclops : No

    Phidgets : No

    RoboPeak LIDAR : Yes

    SwissRanger 3/4000 3D camera : No

    Videre SVS stereo camera : No

    xSENS MT 3rd generation : Yes (Built-in)

    xSENS MT 4th generation : Yes (Built-in)

    Intersense sensors : No 

 

    其他硬件及傳感器,請根據自行需要配置。

 

  四、編譯MRPT

    接着上一步,點擊open project,可直接用VS2013打開項目文件。

    在進行編譯前,請關閉瀏覽器、殺毒軟件、PDF閱讀軟件等較占用內存較大的軟件。如果你是戰斗機,請忽略。

    接着就可以直接點擊生成解決方案。

    

  編譯過程稍長,耐心等待。

  編譯完成即可。

 

  五、異常解決方案

    錯誤1:

      error LNK1104: 無法打開文件“libmrpt-hwdrivers140-dbg.lib” 等其他類似錯誤

    解決方法:

      如有以上錯誤,請先檢查其他錯誤;重新編譯后,如果沒有其他錯誤,一般都不會出現。如有,請重新檢查以上配置是否正確。

    錯誤2:

      error C1083: 無法打開包括文件: “zlib.h”: No such file or directory

    解決方法:

      請完成2.5和3.2.4步驟。

    錯誤3:

      error C1083: 無法打開包括文件: “wx/image.h”: No such file or directory 

    解決方法:

      請檢查3.2.3步驟,是否設置正確路徑。

    錯誤4:

      error LNK1112: 模塊計算機類型“x64”與目標計算機類型“X86”沖突

    解決方法:

      請檢查下載mrpt包是否是對應系統版本。

    錯誤5:

      “M_PI”: 宏重定義

    解決方法:

      找到對應的math.h文件,將M_PI定義添加兩句代碼。如下,      

  #ifndef M_PI
      #define M_PI       3.14159265358979323846
  #endif

    錯誤6:

      編譯器的堆空間不足

    解決方法:

      編譯前請關閉瀏覽器、殺毒軟件等占用內存較大的軟件。

    錯誤7:(最關鍵的一個錯誤)

      error C2371: “int32_t”: 重定義;不同的基類型  或“int8_t”

    解決辦法:

      因為兩個.h文件所定義的int32_t和int8_t的類型不同。錯誤會提示哪兩個.h文件沖突,打開pstdint.h文件,找到對應的定義,並修改為另一個.h文件的定義類型。另外因為權限問題,pstdint.h文件無法直接修改,可將其保存在其他目錄並復制到該目錄下。在覆蓋之前,先進行備份

    錯誤8:

      error MSB6006: “CL.exe”已退出,代碼為X

    解決方法:

      參考 http://www.cnblogs.com/xuanxiaochen/p/6004842.html

 

  六、參考

    http://www.mrpt.org/Building_and_Installing_Instructions

    《MRPT Tutorial》 (中文版) 汪若博 譯

 

 

  (歡迎轉載,轉載請注明出處。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM