Open Hanchen-Yao opened 4 years ago
我遇到了同样的问题,尝试了一下 sudo make install
解决的
我遇到了同样的问题,尝试了一下
sudo make install
解决的
谢谢,我也尝试一下。这两天查阅了一些资料,Sophus分为非模板型和模板型的,以前的版本是非模板型的安装方法,文件夹下为"sophus/se3.h"。只有安装模板型的Sophus,才会得到“sophus/se3.hpp”。
git clone --recursive https://github.com/gaoxiang12/slambook2.git
can solve the problem.
The --recursive
options can download the submodule and thus you won't have an "empty Sophus directory".
平台:liunx 16.04(64)
@Hanchen-Yao 关于3rdparty文件夹为空的解决:
方法一:可以参见 @tsunghan-mama 的解决方案重新下载整个目录
方法二:在已经下载的文件夹根目录(\slambook2),CMD输入
git submodule init
git submodule update
就可以成功下到高翔博士使用的同版本3rdparty库,
随后即可正确编译useSophus.cpp程序。
(建议顺带了解github关于submodule的相关功能。)
另注,使用此版本Sophus在CMakeLists.txt中需要加入如下链接库语句
target_link_libraries(useSophus Sophus::Sophus)
否则会出现make时无法找到<sophus/se3.hpp>等问题。
(在当前版本ch4根目录的CMakeLists.txt中含有此句,
但后续其他用到Sophus的程序中有一部分缺少此句而产生了无法正确编译的问题,如ch5/rgbd。
@gaoxiang12 )
a>环境: 虚拟机ubuntu,64位,版本16.04。
b>尝试: 1、git了高翔博士的slambook2,,其中3rdparty下有Sophus文件夹,但是为Sophus文件夹为空文件夹;
2、手动下载了第一版slambook文件夹下的Sophus压缩文件,解压安装了Sophus;
3、cmake和make文件夹ch4中的“useSophus.cpp”,报错: fatal error : sophus/se3.hpp: No such file or directory
4、检查CMakeLists.txt: cmake_minimum_required(VERSION 2.8) project(useSophus)
find_package(Sophus REQUIRED) include_directories(${Sophus_INCLUDE_DIRS})
include_directories("/usr/include/eigen3") add_executable(useSophus useSophus.cpp) add_subdirectory(example)
5、git了strasdat的地址,cmake和make了该文件夹: git clone http://github.com/strasdat/Sophus.git
6、重新cmake和make文件夹ch4中的“useSophus.cpp”,仍然如第二步报错。