半夜一点钟睡不着,起来开始搞这个问题,写完记录,现在已经是凌晨四点了。。不过还好,问题解决了,也有所收获!熬夜伤身,保重身体!

1、问题

问题:我第一次安装GTSAM的时候没有安装它的matlab工具箱,现在想安装matlab工具箱,该怎么办?

疑惑:

1一开始想的是重装,但是说实话,Linux下我都不知道重装时需不需要先把原来装好的卸载了?make install会覆盖掉原来装好的吗?

2会不会有一个选项,我单单安装它的matlab工具箱就行了,这样就可以不破坏我之前的安装了

3我能说当初自己是怎么安装GTSAM的我都忘了,只是有个印象,貌似是因为很简单就没有做记录。。可是此一时彼一时,当时觉得简单,过了这么久早都忘完了,就不觉得简单了。(最终还是在官网上看了安装教程,确实简单。也想提醒一下自己,安装什么软件,先去官网看,实在看不懂再在网上搜)

顾虑:

选择重装,万一重装失败,原来装好的GTSAM无法还原,该咋办,这不是赔了夫人又折兵吗。。。

因为CMakeList.txt中GTSAM_INSTALL_MATLAB_TOOLBOX默认为OFF,也就是不安装matlab工具箱,所以我一开始安装的版本是没有matlab工具箱的。后来想着用matlab学习gtsam更方便,就想重新安装一下。根据官网所说的,只需要在CMakeList中把GTSAM_INSTALL_MATLAB_TOOLBOX设为ON就会安装matlab工具箱了。这么简单啊,走起。结果等待make install了差不多半个小时,还是老样子,matlab根本不能运行。

下载的gtsam压缩包,除了build文件夹是自己新建的用来放编译过程产生的文件,其他文件夹都是压缩包里自带的,它们并不是cmake make 之后生成的。意识到这点对我很重要,我之前一直以为我的gtsam就安装在了这个work文件夹下。

2、看《CMake实践》

然后我就趁着这个机会又看了《CMake实践》,知道了make install 默认安装到/usr/bin目录下,make install DESTDIR=/tmp/test 安装在/tmp/test/usr/bin下。install可以将任何东西都安装到指定目录,所以就是说我当前工程目录下的所有东西,其实都安装(有些例子、文档的安装相当于直接拷贝过去的)到了/usr/bin下。怪不得当我在根目录下搜索一个名字时,至少都会出现两个,一个在自己工程目录下,另一个就在系统目录下。

3、阅读官网安装说明

网上并没有搜索到这样问题。于是看官网安装详细说明寻找解决办法。

在安装选项说明里,有这么两项:

CMAKE_INSTALL_PREFIX
The install folder. The default is typically /usr/local/. To configure to install to your home directory, you could execute:cmake -DCMAKE_INSTALL_PREFIX:PATH=$HOME ..GTSAM_TOOLBOX_INSTALL_PATH
The Matlab toolbox will be installed in a subdirectory of this folder, called 'gtsam'.cmake -DGTSAM_TOOLBOX_INSTALL_PATH:PATH=$HOME/toolbox ..

对CMake的不熟悉令我对这些配置有着天然的恐惧,觉得这些好麻烦,自己之前看《CMake实践》时就没搞懂这些配置的意义。(之前看了CMake实战,没有完全看懂,后来搁置,现在基本忘光了)

看到GTSAM_TOOLBOX_INSTALL_PATH,我以为需要自己指定路径不然不会生成toolbox文件夹,然后欢天喜地地以为自己找到问题所在了。然而并没有什么卵用,还是没有toolbox这个文件夹。

4、最终问题的解决来自于我无意间的一瞥。。。。

cmake命令会输出东西的,输出的信息除了Fatal error之外,其他的我从来没想着看过!!!无意间想看看cmake后这些长长的输出是什么东西,就过就发现了问题,我明明都设置了GTSAM_INSTALL_MATLAB_TOOLBOX为ON,cmake输出的信息却仍然是Install matlab toolbox :  Disabled???到底是怎么回事?百思不得解。

然后又想了想,重新解压GTSAM压缩包,在解压后的纯净无污染文件夹里面先把GTSAM_INSTALL_MATLAB_TOOLBOX改为ON,然后输出就变为Enabled了!!!然后为了复现问题我又把这里的ON改为OFF,发现输出还是Enabled。。。

麻蛋心态炸了。涉及到知识盲区了,自己并不知道cmake一次之后,当需要再cmake时,如果更改了CMakeList.txt中的一些东西,是要删除build文件夹下所有文件的。。不然可能继续保持直线的配置??我也不知道原因,反正肯定要清空build文件夹。

然后make install 安装就成功了。

5、还有一处需要更改

在工程目录/gtsam/matlab下,有一个README-gtsam-toolbox.txt文件,是讲如何用这个matlat工具箱,其中有一点,需要删除libstdc++相关的问题

If you have a newer Ubuntu system, you must make a small modification to your
MATLAB installation, due to MATLAB being distributed with an old version of
the C++ standard library.  Delete or rename all files starting with
'libstdc++' in your MATLAB installation directory, in paths:/usr/local/MATLAB/[version]/sys/os/[system]/ /usr/local/MATLAB/[version]/bin/[system]/

6、总结

这个故事告诉我,熟悉一些基本工具是多么的重要,对于像我这种非计算机出身的程序员们,熟悉CMake,熟悉Linux是多么的重要。也不要太担心,慢慢积累,现在已经比以前知道的多很多了。

附上CMake实践pdf,希望遇到了同样的问题或者恰好看到这篇博客的同志们可以好好看看这个教程,不长,只有47页。写的的确很好,不过要完全看懂还是要看多遍,不要妄想一遍就看懂学会,不可能的,知识学习都会有一个从入门到慢慢熟悉的过程,所以不要急于求成,一步一步来,这句话也是对自己说的。

GTSAM安装matlab工具箱遇到的神坑相关推荐

  1. 安装gtsam的matlab工具箱

    先做个小记录吧,我安装失败了几次,有点糊里糊涂的,但是最后成功了,先把我认为是正确的步骤记录一下,省的又忘了... 1.首先是下载gtsam,我下的版本是gtsam-4.0.3 2.解压,我这里解压在 ...

  2. 怎么离线安装matlab的工具箱,如何安装matlab工具箱

    如何安装MATLAB工具箱-总结 1.1 如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可: 1.2 如果是单独下载的工具箱,一般情况下仅需要把新的工具箱解压到某个目录. 2 在mat ...

  3. 查看和安装matlab工具箱

    matlab自带很多工具箱(toolbox),如何查看? 方法一:matlab命令行输入:ver 如图: 方法二:通过附加功能的管理附加功能打开,如下图 可查看安装的toolbox如下图: 安装工具箱 ...

  4. 安装MATLAB工具箱Robotics Toolbox 9.10.0 版本

    Robotics工具包是由Peter Croke团队开发的一款基于Matlab平台的机器人运算.仿真的强大工具,提供对经典手臂型机器人研究和仿真有用的功能,例如运动学.动力学和轨迹生成等. 官网地址: ...

  5. Macbook Matlab2017 安装机器人学工具箱(Robotic Toolbox for Matlab)

    Macbook Matlab2017 安装机器人学工具箱(Robotic Toolbox for Matlab) 1.下载机器人学工具箱(release9.1版本) 2.将rvctools文件夹拷贝到 ...

  6. docker 安装matlab记录

    一.安装sudo sudo: command not found 的解决方法 apt-get install sudo apt-get update 二.安装JAVA JDK8 Ubuntu 16.0 ...

  7. gtsam因子图工具箱的安装

    1.因子图开发环境搭建 VM -> Ubuntu -> matlab ->gtsam->完成配置 2.gtsam的安装和Ubuntu系统下matlab的安装 Mission1: ...

  8. MATLAB安装机器人学工具箱

    一.最新版本 10.3.1机器人工具箱 安装教程 1.工具箱下载地址 http://petercorke.com/wordpress/toolboxes/robotics-toolbox 2.确定下载 ...

  9. 安装matlab贝叶斯网络工具箱

    安装matlab贝叶斯网络工具箱 下载工具箱 安装工具箱 安装matlab贝叶斯网络工具箱 1. 下载工具箱 下载链接: 官方下载:http://www.cs.ubc.ca/~murphyk/Soft ...

最新文章

  1. Google团队在DNN的实际应用方式的整理
  2. Common Lisp 初学者快速入门指导
  3. spring面试问题与答案集锦
  4. 日期格式化{0:yyyy-MM-dd HH:mm:ss.fff}和{0:yyyy-MM-dd hh:mm:ss.fff}的区别
  5. version.dll劫持注入模版
  6. 碳中和背景下中国水泥行业发展预测与投资价值分析报告2022-2028年版
  7. 浙大 中科大 计算机专业,计算机专业领域的十大牛校,性价比最高的这所往往不为人们所知!...
  8. 【c++进阶:c++ 顺序容器vector,string,deque,list,forward_list,array常用性质】
  9. html5文件阅读器api,html 5 读取本地文件API
  10. (OS X) OpenCV架构x86_64的未定义符号:错误(OpenCV Undefined symbols for architecture x86_64: error)...
  11. ecshop根目录调用_ECSHOP各文件夹功能说明
  12. 【MySQL】JavaWeb项目中配置数据库的连接池
  13. [Rust]cargo run时error: linker `link.exe` not found
  14. 20200604每日一句
  15. 他山之石 可以攻玉-《海量数据库解决方案》
  16. 计算机应用水平测试excel,职称计算机考试Excel操作题及答案
  17. 黑马点评项目-优惠券秒杀
  18. [luogu4234]最小差值生成树
  19. 按什么键能够迅速锁定计算机,电脑快速锁屏按什么键
  20. 跨境物流的主要操作流程是怎样的?

热门文章

  1. 2009中国互联网哈哈榜:十大事件
  2. PhpSpreadsheet 导出Excel图表 生成多列柱状图
  3. 百度ERNIE——百度快车道记录
  4. C语言小游戏(一)——盲打小游戏(低配版)
  5. U-Mail邮件系统安全攻略之邮件监控
  6. 绿姿明星慈善签售会,因为爱生日更精彩
  7. ExtJs中的表单提交和页面弹出表单
  8. 运动耳机排行榜,2022年值得推荐的六款运动耳机
  9. 夜雨数竞笔记-中值问题(4)-达布定理
  10. DNA Sorting(OpenJ_Bailian - 1007)