Sophus VS2010编译不支持?C++11语法的缘故。那有没有不带C++11特性的Sophus版本呢?...

Eigen:3.1 3.0

Ceres:No

Sophus:

Sophus支不支持Windows编译?官网写的是通过了Windows的编译的

linux, os x: TravisCI windows: AppVeyor code coverage: ci_cov

Sophus

Overview

This is a c++ implementation of Lie groups commonly used for 2d and 3d geometric problems (i.e. for Computer Vision or Robotics applications). Among others, this package includes the special orthogonal groups SO(2) and SO(3) to present rotations in 2d and 3d as well as the special Euclidean group SE(2) and SE(3) to represent rigid body transformations (i.e. rotations and translations) in 2d and 3d.

Cross platform support 跨平台支持

Sophus compiles with clang and gcc on Linux and OS X as well as msvc on Windows. The specific compiler and operating system versions which are supported are the ones which are used in the Continuous Integration (CI): See TravisCI andAppVeyor for details.

Sophus可以在Windows的msvc微软编译器以及Linux和OS X上的clang和gcc编译器上编译通过。特指的编译器和操作系统版本是这些用在Continuous Integration (CI)中的:看TravisCI和AppVeyor查看更多信息。

However, it should work (with no to minor modification) on many other modern configurations as long they support c++11, CMake, and Eigen 3.X.

但是,它应该工作在很多其他的当代的配置中,只要它们支持c++11, CMake和Eigen3.X。

 

Sophus实际上是Eigen库的扩展模块,Eigen中虽然有几何模块,但是没有提供李代数的支持,所以Sophus算是一个比较好的李代数库,安装参考之前博文。

find_package(Sophus REQUIRED)
include_directories(${Sophus_INCLUDE_DIRS})
add_executable(project_name project_name.cpp)
target_link_libraries(project_name ${Sophus_LIBRARIES})

 

CMake Warning (dev) at CMakeLists.txt:16 (IF):
Policy CMP0054 is not set: Only interpret if() arguments as variables or
keywords when unquoted. Run "cmake --help-policy CMP0054" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.

Quoted variables like "MSVC" will no longer be dereferenced when the policy
is set to NEW. Since the policy is not set the OLD behavior will be used.
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at CMakeLists.txt:20 (ELSEIF):
Policy CMP0054 is not set: Only interpret if() arguments as variables or
keywords when unquoted. Run "cmake --help-policy CMP0054" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.

Quoted variables like "MSVC" will no longer be dereferenced when the policy
is set to NEW. Since the policy is not set the OLD behavior will be used.
This warning is for project developers. Use -Wno-dev to suppress it.

SLAM中常用库的CMake写法(如何添加各种依赖库) http://blog.csdn.net/felaim/article/details/72621540

 

VS对C++11的支持情况列举:链接

 

Sophus library for Windows 7 compiled with VS2013:http://download.csdn.net/detail/aopaw/9808970

github上Strasdat实现的那个李群包,这个版本是Stevenlovegrove维护的那个没有使用C++11的一些内容,在Windows 7上做了点修改编译通过了,可以用于一些SLAM方法。The Sophus library maintained by Stevenlovegrove is here compiled on a Windows 7 with VS2013. It is available for something that related to the Lie algebra, for example, visual SLAM.

 

 

stevenlovegrove/Sophus:https://github.com/stevenlovegrove/Sophus

 

简介:

Sophus (version 0.9)

C++ implementation of Lie Groups using Eigen.

Thanks to Steven Lovegrove, Sophus is now fully templated  - using the Curiously Recurring Template Pattern (CRTP).

(In order to go back to the non-templated/double-only version "git checkout a621ff".)

Installation guide:

>>>
cd Sophus
mkdir build
cd build
cmake ..
make
<<<

转载于:https://www.cnblogs.com/2008nmj/p/7065200.html

这个错误是由于找不到`Sophus/SE3.hpp`文件或目录引起的。`Sophus`是一个用于在C++中进行刚体运动估计的库,`SE3.hpp`是其中一个头文件。 要解决这个错误,你可以按照以下步骤进行操作: 1. 检查是否正确安装了`Sophus`库。确保你已经正确地安装了`Sophus`并设置了正确的库路径。你可以通过在终端中输入`sudo apt-get install libeigen3-dev`来安装Eigen3库,然后使用`git`下载`Sophus`: ``` git clone https://github.com/strasdat/Sophus.git ``` 进入`Sophus`文件夹,使用以下命令进行编译和安装: ``` mkdir build cd build cmake .. make sudo make install ``` 2. 确认你的代码中正确包含了`Sophus/SE3.hpp`头文件。在你的代码中,应该有类似以下的include语句: ```cpp #include <Sophus/SE3.hpp> ``` 确保该语句正确地引用了`Sophus/SE3.hpp`文件。如果你的代码中没有这个引用语句,添加上去。 3. 如果你的代码中已经正确包含了`Sophus/SE3.hpp`头文件,但仍然出现错误,请检查你的编译选项。在使用`g++`或其他编译编译时,确保你正确地设置了库路径和链接选项。你可以使用`-I`选项来添加`Sophus`库的头文件路径,例如: ``` g++ -I /path/to/Sophus your_code.cpp -o your_executable ``` 其中`/path/to/Sophus`应该是`Sophus`库的路径。 希望这些步骤可以帮助你解决这个错误。如果问题仍然存在,请反馈更多的信息,以便我们能够提供更具体的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值