Windows10 64位+vs2013+mrpt1.4.0配置成功 !详细!

一、下载

1、mrpt下载地址:https://github.com/MRPT/mrpt/releases
下载自己对应的版本 其中mrpt1.5以上的版本需要的vs2015
我下载的是1.4.0
Windows10 64位+vs2013+mrpt1.4.0配置成功 !详细!_第1张图片

2、wxWidgets下载地址: http://www.wxwidgets.org/downloads/
下载自己对应的系统版本 我下载的是3.0.4
Windows10 64位+vs2013+mrpt1.4.0配置成功 !详细!_第2张图片
3、FFmpeg 下载地址:https://ffmpeg.zeranoe.com/builds/
Windows10 64位+vs2013+mrpt1.4.0配置成功 !详细!_第3张图片
要下载自己对应的机器位数 32位的下载32位的 64位的下载64位。

但是这个东西我下载之后 cmake 配置找不到他的文件 即使添加里路径 也是显示找不到 我后来就没有用这个,但是我也会详细说怎么配置 可能你的机子更优秀呢

4、zlib 下载地址:http://www.zlib.net/
github地址:https://github.com/madler/zlib/tree/v1.2.6
Windows10 64位+vs2013+mrpt1.4.0配置成功 !详细!_第4张图片
注意 前两个是ubuntu系统的 windows下载最后的zip文件
我的是1.2.6。

这个东西我没找到有64位的 只找到了32位 所以我没有使用这个,zlib和上面的FFmpeg都是可选项,有需要就装 没需要就不用装,不影响mrpt的正常使用。)


二、配置

(需要cmake和opencv, 没有cmake和opencv的可以看一下我之前的博客:https://blog.csdn.net/Jinxiaoyu886/article/details/89711408)
接下来各个文件的路径我都是用我自己的路径,大家参考着设置就行 没必要和我一模一样

1、wxWidgets
安装路径:F:\casual\wxWiggets
打开MSVC 64 位终端 :点击开始菜单 —> 所有应用 — > Visual Studio Tools —>VS2013 x64 本机工具命令提示

Windows10 64位+vs2013+mrpt1.4.0配置成功 !详细!_第5张图片
输入:cd F:\casual\wxWiggets\build\msw
执行以下命令:
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

32位:

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 

2、FFmpeg for Win32
安装路径:F:\casual\ffmpeg
右键 我的电脑 —> 属性 —> 高级系统设置 —> 环境变量
Windows10 64位+vs2013+mrpt1.4.0配置成功 !详细!_第6张图片
Windows10 64位+vs2013+mrpt1.4.0配置成功 !详细!_第7张图片
打开计算机环境配置,添加路径PATH:F:\casual\ffmpeg\ffmpeg-4.1.3-win64-shared\bin

3、zilb
安装路径:F:\casual\zlib
打开cmake-gui.exe,设置
where is the source:  F:\casual\zlib\zlib-1.2.6.1
where to build:  F:\casual\zlib\zlib-1.2.6.1\build(build文件夹是新建的)
点击Configure,没什么错误,可直接点Generate
点击Open Project,VS2013会打开该项目文件。
选择Debug,进行编译。
选择Release,再进行编译。
打开目录F:\casual\zlib\zlib-1.2.6.1\win32,将该目录下的zconf.h赋值到根目录下F:\casual\zlib\zlib-1.2.6.1。否则,后面可能会出现错误 : error C1083: 无法打开包括文件: “zconf.h" 。

3、mrpt
在配置mrpt真的花了我好久。。。
安装目录:E:\mrpt-1.4.0
打开cmake-gui.exe,设置
Where is the source code : E:\mrpt-1.4.0
Where to build the binaries: E:\mrpt-1.4.0\build (这里的build也是新建的)
第一次点Configure,会出现很多问题,一个个解决。
(这里用一下网上的图 就不放我自己的了)
Windows10 64位+vs2013+mrpt1.4.0配置成功 !详细!_第8张图片
详细配置(勾选Advanced)

  1. 勾选 MRPT_HAS_FFMPEG_WIN32 右边的复选框
    点击Configure,会出现红框选项FFMPEG_WIN32_ROOT_DIR
    设置FFMPEG_WIN32_ROOT_DIR = F:\casual\ffmpeg\ffmpeg-4.1.3-win64-shared

  2. 设置OPENCV路径
    OPENCV_DIR = F:\casual\opencv\build

  3. 设置wxWidget路径
    wxWidgets_ROOT_DIR = F:\casual\wxWiggets
    wxWidgets_LIB_DIR = F:\casual\wxWiggets\lib\vc_x64_dll

  4. 设置zlib路径
    ZLIB_INCLUDE_DIR = F:\casual\zlib\zlib-1.2.6.1
    ZLIB_LIBRARY_DBG = F:\casual\zlib\zlib-1.2.6.1\win32\Debug\zlibd.lib
    ZLIB_LIBRARY_REL = F:\casual\zlib\zlib-1.2.6.1\win32\Release\zlib.lib

其他配置

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。 要特别注意opencv是否显示
OpenCV (Image manipulation) : Yes (System) [Version: 2.4.13]

没有问题的话点击边上的 generate 接着点击 open project(如果没有这个按钮 就在build目录下 找到 .sln 文件 打开就行)

三、编译

接着上一步,点击open project,可直接用VS2013打开项目文件。
在进行编译前,请关闭浏览器、杀毒软件、PDF阅读软件等较占用内存较大的软件。如果你是战斗机,请忽略。
接着就可以直接点击生成解决方案。
Windows10 64位+vs2013+mrpt1.4.0配置成功 !详细!_第9张图片
编译过程稍长,耐心等待。

编译完成即可。

五、异常解决

如果你按照上述步骤做了,不管你是否严格遵守我的步骤,你都不会一次就完成的, 因为这个mrpt很诡异。

异常1、
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
解决方法:首先打开有该warning的文件,一般可以在外部依赖项中找到相应的warning文件,然后点击【文件】选【高级保存选项】,显示如下,或是其他别的编码格式。
Windows10 64位+vs2013+mrpt1.4.0配置成功 !详细!_第10张图片
如果你没有找到高级保存选项,百度一下,我就不多说了。

异常2、
error MSB6006: “cmd.exe”已退出,代码为 -1073741571。
这个问题我到现在也没有解决,我采取的措施是把出错的文件 在工程中卸载了,然后就编译成功了…

异常3、
“M_PI”: 宏重定义
M_PI 未定义符号
解决方法:注意看出错的文件是重定义了 还是 缺少定义,很多后续的错误都是因为这个,如果是重复定义 就把多余的注释或者删除 如果是缺少定义 就在文件的开头加上

 #ifndef M_PI
      #define M_PI       3.14159265358979323846
  #endif

异常4、
error LNK1104: 无法打开文件“libmrpt-hwdrivers140-dbg.lib”
这个错误暂时可以不用管 等其他错误都没了 他也就没了。

还有些错误百度一下就行了 比如在编译的时候缺少什么文件 ,把文件目录添加到系统环境变量中 。

最后

我只用了opencv的库 其他的库我都没有用 因为在装了其他库之后 我出现了很多bug,比如zlib 我用的是32位的 可能和我的机子不兼容,一直出现问题,困扰了我好几天,后来我只用了opencv 顺利通过了。其实其他库并不是必须的,够用就行了~
祝大家顺利!

会随时更新。

你可能感兴趣的:(mrpt)