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= RUNTIME_LIBS=dynamic DEBUG_INFO= VENDOR=mrpt USE_OPENGL=
nmake -f makefile.vc BUILD=debug SHARED= RUNTIME_LIBS=dynamic DEBUG_INFO= VENDOR=mrpt USE_OPENGL=
如是64位,则打开MSVC 64位终端,执行以下命令:
nmake -f makefile.vc BUILD=release SHARED= RUNTIME_LIBS=dynamic DEBUG_INFO= VENDOR=mrpt USE_OPENGL= TARGET_CPU=amd64
nmake -f makefile.vc BUILD=debug SHARED= RUNTIME_LIBS=dynamic DEBUG_INFO= VENDOR=mrpt USE_OPENGL= 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》 (中文版) 汪若博 译
(欢迎转载,转载请注明出处。)
MRPT笔记——MRPT在VS2013中的配置的更多相关文章
- VS2013中安装配置和使用Boost库
源地址:http://www.itnose.net/detail/6077953.html 时间:2014.07.24 地点:基地 ---------------------------------- ...
- pclint在VS2013中的配置
1.安装pclint a. 从http://download.csdn.net/detail/finewind/8426979下载破解版的pclint9i版: b. 点击pclint9setuo.ex ...
- MRPT笔记——使用编译好的MRPT库建立VS2013项目
接着上一篇<MRPT在VS2013中的配置>,下面接收如何使用编译好的MRPT建立工程项目. 一.设置环境变量 上一篇中,配置MRPT时,使用到了几个相关库,opencv.zlib.wxW ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
- 在VS2013中配置QT5 win7_64
转自 在VS2013中配置QT5 win7_64 环境: win x64 + vs2013+QT5+vs_addin 下面示例正确配置QT以及VS2013 + QT Addin开发环境: 下载VS20 ...
- vs2013中配置SQLite数据库
转载:https://maplefan.com/index.php/2019/08/14/visual-studio-2013%e9%85%8d%e7%bd%aesqlite3%e7%9a%84%e6 ...
- VS2013中Python学习笔记[基础入门]
前言 在上一节中简单的介绍了在VS2013中如何进行开发Hello World,在VS2013中进行搭建了环境http://www.cnblogs.com/aehyok/p/3986168.html. ...
- ASP.NET Core 学习笔记 第四篇 ASP.NET Core 中的配置
前言 说道配置文件,基本大多数软件为了扩展性.灵活性都会涉及到配置文件,比如之前常见的app.config和web.config.然后再说.NET Core,很多都发生了变化.总体的来说技术在进步,新 ...
- VS2013中的MVC5模板部署到mono上的艰辛历程
部署环境:CentOS7 + Mono 3.10 + Jexus 5.6 在Xamarin.Studio创建的asp.net项目,部署过程非常顺利,没有遇到什么问题:但在VS2013中创建的asp.n ...
随机推荐
- Download Free Oracle Reports Building Guide eBook
A very nice ebook on building reports in Oracle fusion middleware 11g. This manual is intended for a ...
- 什么是js和js的基本语法
时间:2016年12月15日 先讲讲基础语法: 大部分是来操作表单: js动态效果和数据交互(ajax?) js也有自己的API js大部分的DOM操作都是针对input的. 案例学习,对注册页面的简 ...
- selenium之js
通过调用js代码来网页的滚动条: 出现以上错误的原因是 driver.set_window_size(600,600) 放置的位置不对
- 单例模式getInstance()
/** * 对象的实例化方法,也是比较多的,最常用的方法是直接使用new,而这是最普通的,如果要考虑到其它的需要,如单实例模式,层次间调用等等. * 直接使用new就不可以实现好的设计好,这时候需要使 ...
- linux下使用多线程编写的聊天室
自从开始学linux网络编程后就想写个聊天室,一开始原本打算用多进程的方式来写,可是发觉进程间的通信有点麻烦,而且开销也大,后来想用多线程能不能实现呢,于是便去看了一下linux里线程的用法,实际上只 ...
- TAG-9F10 发卡行相关数据(转)
Tag-9F10 发卡行相关数据 9F10-发卡行应用数据 标签:9F10 字节1 –“ 07” 字节2 –DKI 长度:var10-25字节 字节3 – 密文版本号 格式:b 字节4 –“ 03” ...
- unity自带寻路Navmesh入门教程(三)
继续介绍NavMesh寻路的功能,接下来阿赵打算讲一下以下两个例子,先看看完成的效果: 第一个例子对于喜欢DOTA的朋友应该很熟悉了,就是不同小队分不同路线进攻的寻路,红绿蓝三个队伍分别根据三条路 ...
- Oracle之常见问题诊断方法
Oracle认证:常见问题诊断方法如下: 1.TNS-12154 Error 或ORA-12154 特征:SQL*NET没有找到连接串或别名 原因1:(1)没有找到TNSNAMES.ORA文件,该文件 ...
- jenkins添加git源码目录时报Error performing command错误
简介 这是我在构建一个自动化部署项目中遇到的一个异常 解决步骤: 1.进入的jenkins的home目录,执行下面命令生成公钥和私钥 [root@jacky .jenkins]# ssh-keygen ...
- js实现图片的大小自适应效果
需求是传过来一个图片,根据外层div的大小自动进行缩放效果. function ShowSecondImg(v) { var rate, newX, newY,newW, newH = 0; //表示 ...