ubuntu20上配置ElasticFusion
2022/9/5 5:52:53
本文主要是介绍ubuntu20上配置ElasticFusion,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、安装cmake3.22版本以上的版本
(因为在进行编译时,要求cmake版本需3.22以上)
1.1、查看当前版本
cmake ---version
1.2、卸载cmake
sudo apt remove cmake
1.3、下载官方源码https://cmake.org/download/
解压后进入目录
1.4、编译
configure是一个shell脚本,它可以自动设定源程序以符合各种不同平台上Unix系统的特性,并且根据系统参数及环境产生合适的Makefile文件或是C的头文件(header file),让源程序可以很方便地在这些不同的平台上被编译连接。
sudo ./configure make -j8
1.5、安装
sudo apt install
1.6、查看版本
cmake --version
关于出现的错误:
CMake Error: Could not find CMAKE_ROOT !!! CMake has most likely not been installed correctly.
解决方法:
重新开启一个终端,
那么为什么会出现这样的问题呢?其实要从哈希表说起,当我们刚刚打开一个终端时,此时哈希表只有一条记录。每当我们再执行命令时,哈希表会记录下这条命令的路径,就相当于缓存一样。
第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当我们第二次使用该命令时,shell解释器首先会查看哈希表,没有该命令才会去PATH路径下寻找。
所以哈希表可以大大提高命令的调用速率,但是CMake Error: Could not find CMAKE_ROOT错误的原因也出在这里,如果我们之前在这个终端执行过cmake命令,那么哈希表就会自动记录下之前版本cmake的路径,我们可以通过输入hash -l查看
参考博客:https://blog.csdn.net/weixin_45467056/article/details/107995400
2、配置环境
sudo apt install -y cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev openjdk-11-jdk freeglut3-dev libglew-dev libsuitesparse-dev zlib1g-dev libjpeg-dev
3、编译安装
git clone git@github.com:mp3guy/ElasticFusion.git cd ElasticFusion/ git submodule update --init //这一步比较久 cd third-party/OpenNI2/ make -j8 cd ../Pangolin/ mkdir build cd build cmake .. -DEIGEN_INCLUDE_DIR=$HOME/ElasticFusion/third-party/Eigen/ -DBUILD_PANGOLIN_PYTHON=false make -j8 cd ../../.. mkdir build cd build/ cmake .. make -j8
4、关于问题:
4.1、在最后一步cmake ..,如果cmake版本低于3.22,会报错,并提示要升级cmake版本
4.2、在make -j8中若出现源码报错,主要是由于C++版本不支持编译,只需要将C++11版本换到C++14即可
sed -i 's/++11/++14/g' CMakeLists.txt
其中 sed -i 就是直接对文本文件进行操作的,直接修改CMakeLists.txt文件内容
5、测试
下载数据集http://www.doc.ic.ac.uk/~sleutene/datasets/elasticfusion/dyson_lab.klg
cd /ElasticFusion/buils ./ElasticFusion -l ../../dyson_lab.klg
出现
完成
这篇关于ubuntu20上配置ElasticFusion的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享
- 2024-11-22ansible 的archive 参数是什么意思?-icode9专业技术文章分享
- 2024-11-22ansible 中怎么只用archive 排除某个目录?-icode9专业技术文章分享
- 2024-11-22exclude_path参数是什么作用?-icode9专业技术文章分享
- 2024-11-22微信开放平台第三方平台什么时候调用数据预拉取和数据周期性更新接口?-icode9专业技术文章分享
- 2024-11-22uniapp 实现聊天消息会话的列表功能怎么实现?-icode9专业技术文章分享
- 2024-11-22在Mac系统上将图片中的文字提取出来有哪些方法?-icode9专业技术文章分享
- 2024-11-22excel 表格中怎么固定一行显示不滚动?-icode9专业技术文章分享
- 2024-11-22怎么将 -rwxr-xr-x 修改为 drwxr-xr-x?-icode9专业技术文章分享
- 2024-11-22在Excel中怎么将小数向上取整到最接近的整数?-icode9专业技术文章分享