目录

  • SLAM环境配置 Win10+VS2019+OpenCV+PCL+g2o+vcpkg
    • 软件及版本
    • 1. Windows 10
    • 2. Visual Studio 2019
    • 3. OpenCV
    • 4. PCL
    • 5. g2o
      • 5.1 vcpkg
      • 5.2 CMake
      • 5.3 Git
      • 5.4 利用vcpkg安装g2o
      • 5.5 g2o 的使用

SLAM环境配置 Win10+VS2019+OpenCV+PCL+g2o+vcpkg

之前简单介绍过SLAM的环境配置,采用自己编译g2o(图优化框架)的方法,话说很是繁琐,最近IDE换成了vs2019,想重新配置环境,在配置g2o库时发现了一款神器vcpkg。利用 vcpkg 来获得 g2o 库很简单不用自己在CMake中一个一个的去修改,也不用再vs2019中编译了。

vcpkg 是微软 C++ 团队开发的在 Windows 上运行的 C/C++ 项目包管理工具,可以帮助您在 Windows 平台上获取 C 和 C++ 库。具体了解可以在网上搜一下有很多介绍,用起来很简单,便于学习。

vcpkg管理缺点

  1. 安装的库一般不是最新版本,但也是比较近的版本,没什么特殊需求的同学可以使用vcpkg。
  2. 最大的缺点是,在他为你自动配置生成时需要下载很多相关联的开源库,例如我们在安装g2o时,会先安装Eigen、suitesparse 等库,这是问题就来了,下载地址一般为Git等国外网站的地址,国内下载速度很慢或有的根本无法连接,这就需要你手动下载所需的安装包,并且大概率需要采用“科学上网”方法,你懂得。(这个问题vcpkg貌似正在解决,通过镜像的地址的方法,但我安装时还是大部分不行)在这我将暗安装下载的安装包打包分享,如果时间没差他太多可能大家能用得上。

软件及版本

软件 版本
1 Windows 10
2 Visual Studio 2019
3 OpenCV 4.4.0
4 PCL 1.11.0
5 g2o 2020-02-07
5.1 vcpkg 2020.06
5.2 CMake 3.18.0
5.3 Git 2.27.0
5.4 libQGLViewer 2.7.2
5.5 Eigen3 3.3.7-5
5.6 suitesparse 5.4.0-5

(我所安装的均是当前最新版本,不必和我一样,采用最新版本即可)
这里说明一下,g2o库安装,我们采用vcpkg进行,vcpkg需要使用git下载资源包,并用cmake生成解决方案,所以我们可以先下载安装这两个软件。当然如果你不安装,vcpkg在库安装时会检测,如果你没有安装,vcpkg会帮你安装。 libQGLviewer库是选择安装,用来进行3D图像的显示等操作。看使用g2o的博文基本都要装这个跟g2o联编,所以咱也就安装吧。这里注意使用vcpkg时,libQGLviewer一定要先于g2o安装,否则可能出现openssl库重复安装的问题。Eigen库和suitesparse会在编译g2o时自动安装。 这里直接安装g2o时,安装的只是suitesparse而没有metis,而一般安装g2o时用的是suitesparse-metis,所以可以先安装metis,然后再安装g2o。

(好多东西下不了,可以找国外同学下,或者想其他办法,科学上网,你懂得,我会将我vcpkg安装g2o时所有下载文件上传至百度网盘,大家在安装之前,可以解压后全部拷贝到 vcpkg\downloads文件夹下)

1. Windows 10

这应该是标配吧

2. Visual Studio 2019

安装社区版,足够用,百度搜vs2019,进入官网,下载 Visual Studio Community 2019,进行在线安装。在“工作负载”中选择“使用C++的桌面开发”,和“Visual Studio 扩展开发”,在右侧安装详细信息中 勾选 “适用于最新v142生成工具的C++MFC”。在语言包中,最好选择英语,因为有些库的配置必须在英文环境下,如果不喜欢用英语的可以 中文和英文都安装,之后根据需求自己切换。Vcpkg安装g2o时需要用英文版VS。

3. OpenCV

OpenCV:一个图像处理中最常用的库,就不多介绍了。
这里 8.vcpkg 可以生成OpenCV库,opencv_contrib也有,版本低一些,闲麻烦的可以用vcpkg生成。
下载一个最新版本的OpenCV,我的是OpenCV 4.4.0,安装包为 opencv-4.4.0-vc14_vc15.exe
官方下载地址:https://opencv.org/releases/
虽然只支持到vc15 就是vs2017 ,vc16的vs2019一样用。
这里如果采用官网的编译好的库,那么你将不能使用SIFT、SURF等一些方法,因为这些方法申请了专利不能够商用,放到了nofree中,而我们可以通过重新编译 opencv_contrib 来重新生成opencv库,从而使用这些方法。
编译方法我之前写过一篇《opencv4.0.1+opencv_contrib4.0.1+VS2015的编译》,版本换了方法不变。
博文地址:https://blog.csdn.net/Gordon_Wei/article/details/85775328

我编译好的一个:opencv 4.4.0 + opencv_contrib 4.4.0+ vs2019 + win10
CSDN链接:https://download.csdn.net/download/Gordon_Wei/12677888
百度链接:https://pan.baidu.com/s/1nb7JkDN6bXR_O2arASiNmA
提取码:opcv

这里建议在某盘的根目录下新建一个名如“MyLibs”文件夹,存放使用到的库。最好在根目录下,并且名字要短,如果太长之后在环境变量里添加路径时可能由于路径太长添加不进去。

4. PCL

PCL:Point Cloud Library 是一个点云处理的开源库,SLAM得到的点云就用这个库里的方法进行处理
下载一个最新版本的PCL,我的是PCL 1.11.0,安装包为 PCL-1.11.0-AllInOne-msvc2019-win64.exe
官方下载地址:https://github.com/PointCloudLibrary/pcl/releases

下载之后,进行安装,可直接安装在你的“MyLibs”文件夹下,安装后文件夹中包括了PCL需要用到的第三方库文件,在。。。下,以及PCL自身的include、lib、bin。

安装完毕看看你安装文件夹下的…\3rdParty\OpenNI2文件夹中是不是只有一个安装文件OpenNI-Windows-x64-2.2.msi,如果是选中、右键、卸载,然后重新安装,安装路径为PCL安装路径下的…\3rdParty\OpenNI2

这里需要注意,在MFC程序中使用PCL库时(控制台程序没试,感觉应该都有),在你自己程序编译时会出错,错误在PCL库文件内是关于
std::max() 及 std::min(),函数的错误如图
这是因为std::max()与<windows.h>中传统的min/max宏定义有冲突
在出错的位置将std::max加个括号,如下
std::max() -> (std::max)()
std::numeric_limits::max () -> (std::numeric_limits::max) ()
还有一个问题是存在多个没有定义的对象,不知道是啥 ,我直接删了 貌似没啥影响。。。

5. g2o

5.1 vcpkg

注意 关闭360等安全软件

vcpkg:是命令行包管理工具,在使用第三方库的c或c++开发中可以简化相关的配置操作。vcpkg安装的包支持Visual Studio 2015 update 3及以上版本,目前在windows平台已有超过900多个包,linux平台超过350个包。在默认情况下,vcpkg会优先使用如果未安装,则使用vs2015编译和安装。使用vcpkg对于c或c++开发,令人烦恼的第三方包管理工作大大的减轻,实则是“居家旅行,必备之品”。
参考:
具体想学习课参考
《Visual Studio开源库集成器Vcpkg全教程》 Achilles
博文地址:https://blog.csdn.net/cjmqas/article/details/79282847

下载一个最新release的vcpkg,我的是Vcpkg 2020.06,安装包为 vcpkg-2020.06.zip
官方下载地址:https://github.com/microsoft/vcpkg/releases

5.2 CMake

CMake:是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。这么说,他可以利用库的源码文件,加上一个CMake配置文件来生成一个符合你编译环境的project,比如在vs2019平台下生成一个工程,打开工程编译后就能生成需要的库的文件include、lib、dll等。
下载一个最新版本的CMake,我的是CMake 3.18.0,安装包为 cmake-3.18.0-win64-x64.msi 安装路径没有要求,建议默认。
这里如果你不安装CMake,vcpakg也会帮你安装一个
官方下载地址:https://cmake.org/download/

5.3 Git

Git:版本管理器,可以进行程序的版本控制,vcpkg需要利用Git获得目前在Git上的开源源码
下载一个最新版本的Git,我的是Git 2.28.0,安装包为 Git-2.28.0-64-bit.exe 安装路径没有要求,建议默认。
这里如果你不安装Git ,cpakg也会帮你安装一个
官方下载地址:https://git-scm.com/downloads

5.4 利用vcpkg安装g2o

下面就说说如何利用vcpkg得到我们需要的 g2o库。

非常简单 首先压我们下载的文件到某盘的跟目录下,如D:\vcpkg,这样做的原因是,vcpkg会将生成得到的库安装在自己的文件夹的install下,为了避免以后使用这里的库时,配置路径过长,最好将它放在根目录下。在你的路径下如 “D:\vcpkg”中找到“bootstrap-vcpkg.bat”选中右键以管理员身份运行,运行结束会在路径下生成vcpkg.exe。

现在就要使用vcpkg来安装g2o库了。

安装顺序
(1)libQGLviewer (可以不安装,我是没用上)
(2)suitesparse[metis] (可以不安装,我是没用上 ,安装g2o时会自己安装一个suitesparse)
(3)g2o

咱就直接给你安装g2o吧
(上边两个的安装与g2o相同,命令为 vcpkg install libQGLviewer:x64-windows 和 vcpkg install suitesparse[metis]:x64-windows )

首先,“运行”->“cmd”,将路径转到vcpkg目录下,
然后,输入命令,vcpkg install g2o:x64-windows,

这个命令中
vcpkg 是vcpkg.exe
install 是要进行测操作命令(安装)
g2o是想要安装的库名
:x64-windows 是想要编译的平台,如果不加则默认x86, 如果都想要的可以用: vcpkg install g2o g2o:x64-windows

如图:

图中1.是所需安装包的下载地址,因为大部分安装包下载地址都在国外所以我们很难能下载成功,会出现4这样的错误,下载不成功。所以我们可以通过他的下载地址直接下载安装包,并放在2的目录里,就是你的vcpkg下的downloads下,这里注意你的安装包的名要与图中3位置的文件名一致,不一致的改成他的名即可。所有所需的包我都上传到了百度云盘

vcpkg\downloads 文件夹下的文件(这里有很多是libQGLviewer和suitesparse安装时需要的,可以选择性下载)
链接:https://pan.baidu.com/s/1j-l5tlQ_dMeDdsQ2yeE3GQ
提取码:x2qb
vcpkg\downloads\tools\msys2\msys64\var\cache\pacman\pkg 文件夹下的文件 当遇到关于msys错误时,把这些文件放到这个文件夹下
链接:https://pan.baidu.com/s/1cizlZyWOkQc3W-vo1TzRNw
提取码:q7wi

5.5 g2o 的使用

经过vcpkg的安装,会在你的 vcpkg文件加下生成一个 installed的文件夹 里边是所有安装好的包的集合包括 include,bin,lib等,还有一个packages的包是分开的所有安装的库,每个库一个文件夹。这两个用哪个都可以,在使用的时候按照你的工程所需进行配置。

环形变量如图可供参考:

【SLAM】SLAM环境配置 Win10+VS2019+OpenCV+PCL+g2o+Vcpkg相关推荐

  1. 最新CUDA环境配置(Win10 + CUDA 11.6 + VS2019)

    最新CUDA环境配置(Win10 + CUDA 11.6 + VS2019) 本篇博客根据NVIDIA 官方文档所述, 并根据自己实践得出. 供各位需要的朋友参考. 1.前言 本篇文章的软件环境为: ...

  2. 开发环境配置--Ubuntu+Qt4+OpenCV(三)

    同系列文章 1. 开发环境配置--Ubuntu+Qt4+OpenCV(一) 2. 开发环境配置--Ubuntu+Qt4+OpenCV(二) 3. 开发环境配置--Ubuntu+Qt4+OpenCV(三 ...

  3. 开发环境配置--Ubuntu+Qt4+OpenCV(二)

    同系列文章 1. 开发环境配置--Ubuntu+Qt4+OpenCV(一) 2. 开发环境配置--Ubuntu+Qt4+OpenCV(二) 3. 开发环境配置--Ubuntu+Qt4+OpenCV(三 ...

  4. maven环境配置 win10,配置阿里云私服和默认仓库地址

    maven环境配置 win10 前提 具体步骤 其它问题 前提 JDK环境已经配置,检查 具体步骤 1.下载maven: https://maven.apache.org/download.cgi 2 ...

  5. 深度学习环境配置Win10+CUDA+cuDNN+Tensorflow2.0+PyTorch1.2+Python3.7.6

    系统环境:Win10 Python版本:3.7.6 CUDA版本:10.0 cuDNN版本:7.6.5 Tensorflow-gpu版本:2.0.1 PyTorch版本:1.2.0 深度学习环境配置W ...

  6. 一篇就够用了——深度学习Ubuntu16.04环境配置+Win10双系统

    一篇就够用了深度学习Ubuntu16.04环境配置 必看!此教程使用说明 [必备配置]基本环境配置 1.win10+ubuntu16.04双系统安装 2.ubuntu最重要的事--切换下载源 3.ub ...

  7. 【OpenCV环境配置】Xcode+OpenCV+pkg-config

    由于笔者使用的是Mac,因此就Mac系统的OpenCV环境进行配置,使用的编辑器是Xcode,网上的教程老旧,且资料不是很完善,因此笔者在此记录下环境配置过程 准备工作 1.安装Xcode 在App ...

  8. Java1.8安装win10_java1.8环境配置+win10系统

    Java环境配置相关 Java jdk 1.8版本的环境配置和1.7版本 存在一些差异,当然不同的操作系统可能会对jdk配置有一定的变化.本文我主要说1.8版本的jdk在window10 系统上的配置 ...

  9. CGAL环境配置(VS2019 PCL1.8)

    一.CGAL简介  CGAL是一个软件项目,它以C语言形式提供了方便访问且高效可靠的几何算法.CGAL应用于地理信息系统.计算机辅助设计.分子生物学.医学影像.计算机图形学和机器人技术等需要几何计算的 ...

最新文章

  1. SWF文件加密、混淆
  2. canvas 圆角矩形填充_Canvas:随机长方形生成和色块填充
  3. linux环境中,top命令中,对command的命令进行扩展查看详情?
  4. python进阶(第三章1) 字典
  5. git pull VS git fetchmerge(good)
  6. 如何刷新DNS缓存(Windows,Mac,Chrome)
  7. Excel造测试大量数据
  8. PLC模拟量控制的3个要求
  9. 上海市计算机学会月赛 2022年6月月赛丙组
  10. 计算机无法识别外接光驱,USB外置光驱不能用怎么办 USB外置光驱无法识别解决方法...
  11. ActiveMQ修改密码(访问密码和登录密码)
  12. Latex bare_jrnl模板报错:something‘s wrong--perhaps a missing\item. \end{thebibliography}
  13. 大数据零基础学习并不难,从0到1你需要的不仅仅是努力!
  14. 浑身尖刺的服务可用性守护者——hystrix熔断器实践记录
  15. -1-7 java 网络编程基本知识点 计算机网络 TCP/IP协议栈 通信必备 tcp udp
  16. 世界上第一胎电子计算机的主要构成原件,世界上第一台计算机的主要构成原件是什么...
  17. 试卷分析报告matlab,试卷分析报告(精选10篇)
  18. 帝国cms模板开发教程(二):了解帝国cms模板核心构成页面有哪些?
  19. 计算机人离开后保护,设置屏幕保护密码防止他人在自己离开时偷窥
  20. 从今天开始,记录工作、学习和生活点滴。

热门文章

  1. 微信直播如何变现呢?这里有3种方式
  2. Redis集群数据同步与选举
  3. java利用解释器模式实现简单计算
  4. surface go平板安装Android系统
  5. 计算机范畴论(javaScript实践版)第二篇
  6. 自卑的人,如何找到自信
  7. 编程界的变革者:Brendan Eich
  8. 新概念英语视频教学(共4册)
  9. 2021年中国萤石发展现状及进出口状况分析:下游氢氟酸景气助力萤石价格保持高位 [图]
  10. Java调用第三方webService服务