fatal error: sophus/se3.h: 没有那个文件或目录
fatal error: sophus/se3.h: 没有那个文件或目录
- 0.引言
- 1.原因
- 2.非模板类sophus
- 3.模板类sophus
- 4.多版本安装
0.引言
sophus已经安装,但是编译代码报错:fatal error: sophus/se3.h: 没有那个文件或目录
1.原因
sophus版本问题。老版本sophus是非模板类的Sophus。最新sophus为模板类的Sophus,代码会有点变化。
2.非模板类sophus
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff #版本回溯
mkdir build && cd build && cmake .. && sudo make install
报错:
***/sophus/so2.cpp:32:26: error: lvalue required as left operand of assignmentunit_complex_.real() = 1.;^~
***/sophus/so2.cpp:33:26: error: lvalue required as left operand of assignmentunit_complex_.imag() = 0.;
报错解决参考,打开 so2.cpp
修改构造函数:
//unit_complex_.real() = 1.;
//unit_complex_.imag() = 0.;
unit_complex_.real(1.);
unit_complex_.imag(0.);
安装结果:
-- Install configuration: "Release"
-- Up-to-date: /usr/local/include/sophus
-- Installing: /usr/local/include/sophus/se3.h
-- Installing: /usr/local/include/sophus/scso3.h
-- Installing: /usr/local/include/sophus/se2.h
-- Installing: /usr/local/include/sophus/so2.h
-- Installing: /usr/local/include/sophus/sim3.h
-- Installing: /usr/local/include/sophus/so3.h
-- Installing: /usr/local/lib/libSophus.so
非模板类的头文件为**.h
3.模板类sophus
依赖 fmt
库,参考.
git clone https://github.com/strasdat/Sophus.git
cd Sophus
mkdir build && cd build && cmake .. && sudo make install
安装结果:
-- Install configuration: "Release"
-- Up-to-date: /usr/local/share/sophus/cmake/SophusTargets.cmake
-- Up-to-date: /usr/local/share/sophus/cmake/SophusConfig.cmake
-- Up-to-date: /usr/local/share/sophus/cmake/SophusConfigVersion.cmake
-- Up-to-date: /usr/local/include/sophus/average.hpp
-- Up-to-date: /usr/local/include/sophus/common.hpp
-- Up-to-date: /usr/local/include/sophus/geometry.hpp
-- Up-to-date: /usr/local/include/sophus/interpolate.hpp
-- Up-to-date: /usr/local/include/sophus/interpolate_details.hpp
-- Up-to-date: /usr/local/include/sophus/num_diff.hpp
-- Up-to-date: /usr/local/include/sophus/rotation_matrix.hpp
-- Up-to-date: /usr/local/include/sophus/rxso2.hpp
-- Up-to-date: /usr/local/include/sophus/rxso3.hpp
-- Up-to-date: /usr/local/include/sophus/se2.hpp
-- Up-to-date: /usr/local/include/sophus/se3.hpp
-- Up-to-date: /usr/local/include/sophus/sim2.hpp
-- Up-to-date: /usr/local/include/sophus/sim3.hpp
-- Up-to-date: /usr/local/include/sophus/sim_details.hpp
-- Up-to-date: /usr/local/include/sophus/so2.hpp
-- Up-to-date: /usr/local/include/sophus/so3.hpp
-- Up-to-date: /usr/local/include/sophus/types.hpp
-- Up-to-date: /usr/local/include/sophus/velocities.hpp
-- Up-to-date: /usr/local/include/sophus/formatstring.hpp
模板类的头文件为**.hpp
4.多版本安装
以先安装费模板类为例,第一次安装直接普通安装即可,模板类安装时指定文件夹,互不影响。
mkdir build
cd build
cmake -D CMAKE_INSTALL_PREFIX=/usr/local/sophus-template ..
make -j8
sudo make install
版本切换:
# cmake version
cmake_minimum_required(VERSION 2.8)
# project name
project(test)
find_package(Sophus REQUIRED)
include_directories(${Sophus_INCLUDE_DIRS})
...
target_link_libraries(test
${Sophus_LIBS}
)## 使用模板类sophus
cmake_minimum_required(VERSION 2.8)
set(Sophus_DIR "/usr/local/sophus-template/share/sophus/")
#或
#set(Sophus_INCLUDE_DIR "/usr/local/sophus-template/include")
##set(Sophus_LIBS )
# project name
project(test)
find_package(Sophus REQUIRED)
include_directories(${Sophus_INCLUDE_DIRS})
...
target_link_libraries(test
${Sophus_LIBS}
)
fatal error: sophus/se3.h: 没有那个文件或目录相关推荐
- 如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录
如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录 参考文章: (1)如何解决编译linux内核(解决声卡问题),遭遇fata ...
- 编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录 其实numpy已经是安装的,anaconda2里面有,python中import num ...
- fatal error: alsa/asoundlib.h: 没有那个文件或目录错误解决办法
在编译ffmpeg4.2代码的时候,出现以下编译错误: libavdevice/alsa_enc.c:40:10: fatal error: alsa/asoundlib.h: 没有那个文件或目录 解 ...
- fatal error: openssl/evp.h: 没有那个文件或目录
在陆佳华<嵌入式系统软硬件协同设计实战指南 第2版>一书的第13章节 编译U-boot时会遇到2个错误.原因很简单,就从一开始的错误提示着手: fatal error: openssl/e ...
- 编译R3LIVE报错: fatal error: livox_ros_driver/CustomMsg.h: 没有那个文件或目录 4 | #include <livox_ros_driver/
安装编译了livox_ros_driver和livox_SDK,在编译R3LIVE算法时,遇到报错 fatal error: livox_ros_driver/CustomMsg.h: 没有那个文件或 ...
- fatal error: GLES3/gl31.h: 没有那个文件或目录
环境:需求是armV8.2环境下使用qt库中qgl.qwidget等控件,x86下环境正常使用,在arm环境报错:In file included from /usr/include/aarch64- ...
- fatal error: GL/glew.h: 没有那个文件或目录
搜索libglew的版本 #apt-cache search glew libglew-dbg - OpenGL Extension Wrangler (debugging symbols) libg ...
- 解决 fatal error: i2c/smbus.h: 没有那个文件或目录 #include <i2c/smbus.h>
编译功能包报错 解决方案 sudo apt-get install libi2c-dev
- ROS问题解决_fatal error: ros/ros.h: 没有那个文件或目录 #include “ros/ros.h“
参考:[ROS-解决问题] fatal error: ros/ros.h: 没有那个文件或目录_踏破万里无云的博客-CSDN博客 原因是功能包的CMakelists.text文件里面少了东西,find ...
最新文章
- 100多年了,左右大脑的不对称性依然备受关注
- linux fuser 命令 查看文件/网络端口 被什么进程占用
- HTML+CSS+JS实现 ❤️爱心文字3D旋转动画特效❤️
- windows下,‘nmake‘不是内部或外部命令,也不是可运行的程序或批处理文件
- java 获取路径_java 获取当前类的路径
- 苹果承认使用谷歌云存储 iCloud 数据,但确保无隐私问题
- jni开发-GetMethodID与CallObjectMethod的坑
- 5g组网sa方式的演进_关于5G的SA(独立组网)和NSA(非独立组网),这篇通俗易懂!
- linux十大实用工具,10大好用的Linux实用工具推荐
- kettle连接mysql教程_KETTLE初学者使用教程
- 基于 Echarts 实现可视化数据大屏展示
- 《游戏引擎架构》试读感想
- 2.郝斌C语言课程大纲
- Uniapp——使用安卓原生插件
- 谷歌滤镜软件叫什么_谷歌app爆红的拍照功能:你最像名画中的谁?
- dpi和ppi换算_dpi换算(dpi换算网站)
- ISIS 防环机制分析
- Cannot find JRE ‘1.8‘. You can specify JRE to run maven goals in Settings | Mav
- 【Python学习教程】Python编程基础
- 【TED】How to get better at the things you care about?