Windows10下的GTSAM因子图安装与使用

news2024/11/27 10:27:01

Windows10下的GTSAM因子图安装与使用

  • 一、windows系统预安装
    • 1. windows 10安装gcc
    • 2.windows 10 安装 boost
    • 3.CMake 安装与查看
    • 4.CMake 配置boost
  • 二、GTSAM安装与使用
  • 三、CMAKE 创建立 使用GTSAM的Visual Studio项目
  • 参考文献

一、windows系统预安装

1. windows 10安装gcc

https://www.xjx100.cn/news/592566.html?action=onClick
《下载安装MinGW-w64详细步骤(c/c++的编译器gcc的windows版,win10真实可用)》

2.windows 10 安装 boost

https://www.xjx100.cn/news/140767.html?action=onClick
《ubuntu和Win10上安装boost-C++库》
https://blog.csdn.net/m0_67357141/article/details/125318505
《VS配置boost库》

3.CMake 安装与查看

https://blog.csdn.net/L888666Q/article/details/130686315

4.CMake 配置boost

https://blog.csdn.net/LostUnravel/article/details/127076377
《C++ Boost 库 Windows 环境 GCC 编译安装及 CMake 相关配置》

二、GTSAM安装与使用

https://blog.csdn.net/missiledefense/article/details/56319421
《GTSAM 的使用》
https://www.borg.cc.gatech.edu/download.html#download
《官网下载与安装说明》
On Windows:

  1. 打开CMake GUI program,设置“”Where is the source code“” 为top-level GTSAM directory(解压后)(下图1), 然后设置build directory “Where to build the binaries”为一个子文件夹,例如 e.g. ‘…/build’(下图2).

You may want to change CMAKE_INSTALL_PREFIX to install GTSAM in your home directory instead of in Program Files. There is no need to set CMAKE_BUILD_TYPE. You may also set GTSAM_DISABLE_EXAMPLES_ON_INSTALL to speed up the compilation later on.
在这里插入图片描述

  1. 若没有自动找到 Boost(上图5), 通过设置如下CMake variables来提供提示给CMake:
    BOOST_ROOT and BOOST_INCLUDEDIR 为你安装的boost的相关文件夹. If problems persist, boolean variable Boost_DEBUG(上图3,或者增加语句 set(Boost_DEBUG ON) ) can be set to make the FindBoost script verbose (信息冗长的)(上图4).
    尝试措施I:cmakelists.txt增加如下指定路径,仍然有错(上图5)。
    在这里插入图片描述
    尝试措施II: 参考下列帖子,发现下列名称不同:
    cmake中显示的信息: boost_serialization-vc143-mt-x64-1_83
    gtsam-3.2.1中lib文件的名称信息:libboost_serialization-vc143-mt-x64-1_83
    于是,我们添加set(Boost_LIB_PREFIX “lib”)来增加lib前缀
    在这里插入图片描述
    在这里插入图片描述

  2. 点击 ‘Configure’,然后点击 ‘Generate’. 第一次配置时,CMake会要求你选择编译器 compiler. 选择与所安装的Visual Studio版本相对应的Visual Studio选项。Do not choose NMake makefiles or Cygwin makefiles, our scripts are not compatible with these.
    在这里插入图片描述

  3. 在设置的build文件夹路径下打开GTSAM.sln file. Subsequently, you can re-generate the solution files with MSVC still open and it will automatically reload them.

  4. 设置 build configuration (Debug, Release, etc) :Visual Studio toolbar下拉菜单中。注意,在CMake中设置 CMAKE_BUILD_TYPE 没有效果(除非 building the MATLAB wrapper, see below).
    在这里插入图片描述

  5. 在solution browser(‘解决方案’), 在 'CMakePredefinedTargets’下的 ‘INSTALL’ project进行build(右键生成) . 确认Debug 和 Release 下都要build(生成) ‘INSTALL’ .

注意:If you prefer, it is not necessary to “install” GTSAM to build projects against it. Our CMake configuration will properly find and link to GTSAM. In your project CMake environment set GTSAM_DIR to the GTSAM build directory in which the solution files were generated.
如果您愿意,没有必要通过“安装”GTSAM进而针对它来build project。用户的CMake configuration将正确地找到并链接到GTSAM。在您的项目CMake环境中,将GTSAM_DIR设置为GTSAM build directory (生成解决方案文件的build 文件路径)。

三、CMAKE 创建立 使用GTSAM的Visual Studio项目

《5分钟学会使用cmake创建visual studio工程》

  1. cmake和visual studio假设你已经安装好了
  2. 在你下载cmake的文件夹中,找到cmake-gui.exe,它在cmake\cmake-3.20.0-rc1-windows-x86_64\bin中。点击打开,并填上你要打开项目的路径,在where to build……后加上**/build**即可:
  3. 点击configure,选择yes,选择你要运行.cpp文件的编辑器,一般是你本机安装的VS,然后finish
    在您的项目CMake环境中,将GTSAM_DIR设置为GTSAM build directory (生成解决方案文件的build 文件路径) 例如:其中路径为本机根据上述二安装好的GTSAM的build路径
# add GTSAM path
set(GTSAM_DIR "G:/Program Files/gtsam-3.2.1/gtsam-3.2.1/build")
  1. 再点击Generate即可。此时会发现多了一个build文件
  2. 打开刚才新建的build文件中的.sln后缀名的项目文件
  3. 点击改解决方案并设置启动项为项目名
  4. 然后运行即可

参考文献

1.https://www.borg.cc.gatech.edu/download.html#documentation

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1023379.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深度学习框架格式转化】【CPU】Pytorch模型转ONNX模型格式流程详解【入门】

【深度学习框架格式转化】【GPU】Pytorch模型转ONNX模型格式流程详解【入门】 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习框架格式转化】【GPU】Pytorch模型转ONNX模型格式流程详解【入门】前言PyTorch模型环境搭建(CPU)安装onn…

LCP 50. 宝石补给(每日一题)

欢迎各位勇者来到力扣新手村,在开始试炼之前,请各位勇者先进行「宝石补给」。 每位勇者初始都拥有一些能量宝石, gem[i] 表示第 i 位勇者的宝石数量。现在这些勇者们进行了一系列的赠送,operations[j] [x, y] 表示在第 j 次的赠送…

解决VS Code安装远程服务器插件慢的问题

解决VS Code安装远程服务器插件慢的问题 最近想在服务器上做juypter notebook的代码运行,发现要给服务器安装Jupyter插件,但是安装速度奇慢无比(因为服务器不连外网),一开始查看从VS Code插件市场下载插件的博客&…

网络编程day02(socket套接字)

今日任务&#xff1a; TCP\UDP服务端客户端通信 TCP&#xff1a;代码 服务端&#xff1a; #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #in…

项目提交按钮没防抖,差点影响了验收

前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 表妹一键制作自己的五星红旗国庆头像&#xff0c;超好看 前言 一个运行了多年的ToB的项目&#xff0c;由于数据量越来越大&#xff0c;业务越来越复杂&…

【HarmonyOS】【DevEco Studio】盘点DevEco Studio日志获取途径

【关键词】 DevEco Studio、日志获取 【问题背景】 在收到IDE工单的时候&#xff0c;很多时候开发者出现的问题都需要提供一些日志&#xff0c;然后根据日志分析&#xff0c;那么你知道IDE各种日志的获取方式么&#xff1f;往下看 【获取方法】 一、idea.log获取 IDE界面H…

滴滴一面:说说MySQL主从数据同步机制

说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如滴滴、阿里、汽车之家、极兔、有赞、希音、百度、网易、滴滴的面试资格&#xff0c;遇到一几个很重要的主从同步面试题&#xff1a; 说说MySQL主从同步的流程说说MySQL主从同步…

添加一个仅管理员可见的页面

例如我新加一个页面 申请一个路由 《插播》 前端是如何知道我们是管理员的呢&#xff0c;ant-design框架会帮我们存到InitialState里&#xff0c;做为全局变量 在access.ts里我们获取到了用户是否为管理员 &#xff08;用户存在且为管理员&#xff09; 框架为我们打通了个路由…

【深度学习实验】前馈神经网络(二):使用PyTorch实现不同激活函数(logistic、tanh、relu、leaky_relu)

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. 定义激活函数 logistic(z) tanh(z) relu(z) leaky_relu(z, gamma0.1) 2. 定义输入、权重、偏置 3. 计算净活性值 4. 绘制激活函数的图像 5. 应用激活函数并…

MySQL基础—从零开始学习MySQL

01.MySQL课程介绍_哔哩哔哩_bilibili 1、MySQL安装 以管理员身份运行cmd net start mysql80net stop mysql80 客户端连接 1). 方式一&#xff1a;使用MySQL提供的客户端命令行工具 2). 方式二&#xff1a;使用系统自带的命令行工具执行指令 mysql [-h 127.0.0.1] [-P 3…

mysql知识大全

MySQL知识大全&#xff08;2&#xff09; MySqL 基础为1—7&#xff08;增删改查基础语法&#xff09;&#xff0c;MySQL进阶知识为8—11&#xff08;约束、数据库设计、多表查询、事务&#xff09; 1、数据库相关概念 以前我们做系统&#xff0c;数据持久化的存储采用的是文件…

【二叉树】二叉树展开为链表-力扣 114 题

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

【云原生】k8s-----集群调度

目录 1.k8s的list-watch机制 1.1 list-watc机制简介 1.2 根据list-watch机制&#xff0c;pod的创建流程 2.scheduler的调度策略 2.1 scheduler的调度策略简介 2.2 Scheduler预选策略的算法 2.3 Scheduler优选策略的算法 3. k8s中的标签管理及nodeSelector和nodeName的 调…

win10 安装 Langchain-Chatchat 避坑指南(2023年9月18日v0.2.4版本,包含全部下载内容!)

网上教程都是基于外网或者翻墙的&#xff0c;而且细节极其不清晰&#xff0c;尤其是最关键的模型下载。 另外提一句&#xff0c;我的显卡是&#xff1a;3080Ti 16GB版本&#xff0c;运行之后&#xff0c;显存占用13-14GB 1、安装Anaconda&#xff08;这个就不啰嗦了&#xff0c…

【SpringMVC】JSON注解全局异常处理机制

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Spring MVC》。&#x1f3…

Nue JS 造全新的 Web 生态

Nue JS 是最近开源的 Web 前端项目&#xff0c;用于构建用户界面&#xff0c;体积非常小&#xff08;压缩后 2.3kb&#xff09;。Nue JS 支持服务器端渲染 (SSR)、反应式组件和 “同构” 组合 ("isomorphic" combinations)。 Vue.js、React.js 或 Svelte&#xff0c;…

Day 01 python学习笔记

1、引入 让我们先写第一个python程序&#xff08;如果是纯小白的话&#xff09; 因为我们之前安装了python解释器 所以我们直接win r ---->输入cmd&#xff08;打开运行终端&#xff09; >python #&#xff08;在终端中打开python解释器&#xff09;>>>pri…

CSDN博客可以添加联系方式了

csdn博客一直不允许留一些联系方式&#xff0c;结果是官方有联系方式路径 在首页&#xff0c;往下拉&#xff0c;左侧就有 点击这个即可添加好友了~ 美滋滋&#xff0c;一起交流&#xff0c; 学习技术 ~

详细介绍如何微调 YOLOv8 姿势模型以进行动物姿势估计--附完整源码

动物姿势估计是计算机视觉的一个研究领域,是人工智能的一个子领域,专注于自动检测和分析图像或视频片段中动物的姿势和位置。目标是确定一只或多只动物身体部位的空间排列,例如头部、四肢和尾巴。这项技术具有广泛的应用,从研究动物行为和生物力学到野生动物保护和监测。 …

CS 创世SD NAND FLASH 存储芯片,比TF卡更小巧轻便易用的大容量存储,TF卡替代方案

文章目录 介绍创世SD卡引脚与NOR Flash存储比较 介绍 SD NAND FLASH&#xff08;Secure Digital NAND Flash&#xff09;是一种安全数字 NAND 闪存技术&#xff0c;通常用于存储数据&#xff0c;并且具有一些额外的安全特性。这种技术结合了 NAND 闪存的高密度存储能力和安全性…