标签:cmake make 配置 Sophus sophus include camke 模板
安装
参考教程
https://blog.csdn.net/fb_941219/article/details/104590842
老版本()slam第一版
非模板类-适用于SLAM14第一版讲代码 非模板类的头文件为**.h
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff #版本回溯 很重要切换到老版本
mkdir build && cd build && cmake .. && sudo make && sudo make install
修改一个报错
https://blog.csdn.net/qq_40641575/article/details/81006349
1 SO2::SO2()
2 {
3 //unit_complex_.real() = 1.;
4 //unit_complex_.imag() = 0.;
5 unit_complex_.real(1.);
6 unit_complex_.imag(0.);
7 }
新版本 slam第二版
模板类sophus SLAM14第二版代码 模板类的头文件为**.hpp
下载
git clone https://github.com/strasdat/Sophus.git
编译
$ cd Sophus
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
如何共存两个版本
将某一个版本安装在制定目录,cmake导入的时候制定这个目录
如果想要共存 多版本使用,将模板类安装到指定文件夹
以先安装非模板类为例,第一次安装直接普通安装即可,模板类安装时指定文件夹,互不影响。
mkdir build
cd build
cmake -D CMAKE_INSTALL_PREFIX=/usr/local/sophus-template ..
make -j8
sudo make install
这个种模式下
--------camke 编写----------------
# camke1 使用非模板类sophus
# 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}
)
# camke2 使用模板类sophus
cmake_minimum_required(VERSION 2.8)
set(Sophus_DIR "/usr/local/sophus-template/share/sophus/")
# project name
project(test)
find_package(Sophus REQUIRED)
include_directories(${Sophus_INCLUDE_DIRS})
...
target_link_libraries(test
${Sophus_LIBS}
)
额外安装fmt
cmake 添加
find_package(fmt)
target_link_libraries(useSophus fmt::fmt)
单纯模板类版本的引用
CMakeLists.txt
# cmake needs this line cmake_minimum_required(VERSION 3.1) # Define project name project(sophus_example_project) find_package(Sophus REQUIRED ) message("Sophus dir ${Sophus_INCLUDE_DIRS}") message("Sophus lib ${Sophus_LIBRARIES}") include_directories(${Sophus_INCLUDE_DIRS}) add_executable(useSophus example.cpp) target_link_libraries(useSophus ${Sophus_LIBRARIES})
example.cpp
#include <iostream> #include <cmath> using namespace std; #include "sophus/so3.h" #include "sophus/se3.h" int main(int argc, char** argv) { }
工程使用
mkdir build cd build cmake .. make ./useSophus
标签:cmake,make,配置,Sophus,sophus,include,camke,模板 来源: https://www.cnblogs.com/gooutlook/p/14831963.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。