当前位置: 代码迷 >> 综合 >> Windows编译g2o及其g2o viewer
  详细解决方案

Windows编译g2o及其g2o viewer

热度:84   发布时间:2023-12-27 18:39:08.0

文章目录

    • 编译环境
    • 源码下载
    • Cmake编译
    • Visual Studio&QtCreator编译libQGLViewer
    • 结果
    • 出现问题以及解决方案

编译环境

如题,本文介绍如何在Windows平台下编译g2o,其他平台更简单?。
现有环境:vs2017,Eigen(非必要),qt5.13.0以及相应vs组件。

源码下载

libQGLViewer,g2o

Cmake编译

打开Cmake,选择源代码路径,设置好中间文件生成路径,其他设置按照下图配置即可。
在这里插入图片描述
依次点击:Configure->Generate->Open Project,然后选择生成->批生成,勾选Debug和Release以及Install选项,开始即可。等待十几分钟之后就编译好啦。

Visual Studio&QtCreator编译libQGLViewer

为什么要编译libQGLViewer,是因为g2o中包含了一个可以显示节点的g2o_viewer,需要用到它。
双击libQGLViewer-2.7.2.pro,如果本地环境都配置好了的话,会自动打开Qt Creator。
选择:构建->构建所有项目,打开编译输出窗口,等待编译完成即可。

结果

  • g2o Release (提前测试了一下g2o viewer)
    ========== 生成: 成功 47 个,失败 0 个,最新 7 个,跳过 0 个 ==========
  • g2o Debug
    ========== 生成: 成功 54 个,失败 0 个,最新 0 个,跳过 0 个 ==========
  • g2o viewer

在这里插入图片描述

出现问题以及解决方案

  1. error: LNK1181: cannot open input file ‘QGLViewer2.lib’

原因:编译对应的例子时,出现找不到库文件的情况,但是真实情况是这个库文件已经存在于libQGLViewer的源文件目录中。
解决方案:忽略就行,这些例子可以不用编译先,本文主要介绍g2o viewer的编译,直接将生成的QGLViewer2.libQGLViewerd2.lib手动拷贝到合适的路径即可。
2. 其他问题几乎不会遇到,遇到就参见其他博客
3. 如有需要已经编译好的安装包的,详情请见

  相关解决方案