windows下编译gtsam

Posted chengwei0019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下编译gtsam相关的知识,希望对你有一定的参考价值。

目录

GTSAM简介

安装需求

gtsam安装依赖要求

本文的安装依赖版本

安装步骤

安装中可能出现的异常

相关学习资料


GTSAM简介:

GTSAM 是一个在机器人领域和计算机视觉领域用于平滑(smoothing)和建图(mapping)的C++库。它与g2og2o不同的是,g2og2o采用稀疏矩阵的方式求解一个非线性优化问题,而GTSAM是采用因子图(factor graphs)和贝叶斯网络(Bayes networks)的方式最大化后验概率。

安装需求:

gtsam官网给出了 详细的安装过程,由于其依赖库比较少,安装起来比较方便。这里咱们主要介绍在windows下的安装(Ubuntu下几行代码就可以搞定,这里不再赘述)。

gtsam安装依赖要求:

-------BOOST库版本不低于1.43

-------CMake版本不低于2.6

本文的安装依赖版本:

安装环境:windows7+VS2017,64位

boost1.63

cmake3.16.6

gtsam3.2.3(为什么选择这个版本,因为尝试过3.2.1,4.0.0,4.0.2,安装都存在异常);

安装步骤:

1.分别安装好boost和cmake。

2.下载完成gtsam3.2.3,并解压。由于在虚拟机安装,本文解压地址为:C:/mycode/gtsam2.3.3

3.在gtsam文件中,新建build文件,打开cmake,分别设置source code和binaries

4.configure,可能会提示找不到boost,分别设置boost_dir和boost_include_dir,然后重新configure

5.generate,生成;

6.VS打开在build中打开生成的gtsam.sln文件。分别编译GeographicLib_STATIC,wrap_lib,CppUnitLite,gtsam,gtsam_unstable(可以按这个顺序分别生成);

7.如果上步木有异常,那么生成完成。之后可以使用ALL_BUILD生成全部项目,然后使用INSTALL安装gtsam(这里安装默认地址为:C:\\Program Files\\GTSAM)

安装中可能出现的异常

问题1:

error C2280: 'Eigen::Block<Derived,2,2,false> &Eigen::Block<Derived,2,2,false>::operator =(const Eigen::Block<Derived,2,2,false> &)': attempting to reference a deleted function

解决办法:参考链接1,参考链接2

问题2:VS编译后INSTALL报错(error MSB3073)

解决办法:

1.由于在C盘运行,故需要以管理员身份运行此程序;

2.检查CAMAKE_INSTALL_PERFIX路径,即cmake的install安装路径,查看是否存在对应文件夹(当然也可以在cmake时修改安装路径)。本文这里需要在C盘创建一个GTSAM的文件夹;

3.如果还不行,可以修改  (install)项目–>属性–>生成事件–>后期生成事件–>在生成中使用–>否;

4.参考资料

相关学习资料:

GTSAM学习资源汇总

【泡泡机器人公开课】第五十六课:gtsam解析 by 董靖 https://www.sohu.com/a/133646392_715754

G2o,GTSAM,Ceres,Tensorflow优化器的方法比较  https://blog.csdn.net/ziliwangmoe/article/details/86561157

GTSAM的安装与使用  https://blog.csdn.net/missiledefense/article/details/56319421

GTSAM的学习笔记  https://blog.csdn.net/qq_27262241/article/details/84291471

以上是关于windows下编译gtsam的主要内容,如果未能解决你的问题,请参考以下文章

如何在Kali Linux下编译Windows Exploit

Windows下编译jcef

windows 下编译libcurl

windows下编译arm-linux

Windows下编译Python2.7源码

Windows下编译protobuf v3.3.0