{"action":"closed","issue":{"url":"https://api.github.com/repos/songuke/dvo_slam/issues/3","repository_url":"https://api.github.com/repos/songuke/dvo_slam","labels_url":"https://api.github.com/repos/songuke/dvo_slam/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/songuke/dvo_slam/issues/3/comments","events_url":"https://api.github.com/repos/songuke/dvo_slam/issues/3/events","html_url":"https://github.com/songuke/dvo_slam/issues/3","id":194749937,"number":3,"title":"error in building DVO SLAM ","user":{"login":"sta105","id":24106976,"avatar_url":"https://avatars.githubusercontent.com/u/24106976?v=3","gravatar_id":"","url":"https://api.github.com/users/sta105","html_url":"https://github.com/sta105","followers_url":"https://api.github.com/users/sta105/followers","following_url":"https://api.github.com/users/sta105/following{/other_user}","gists_url":"https://api.github.com/users/sta105/gists{/gist_id}","starred_url":"https://api.github.com/users/sta105/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sta105/subscriptions","organizations_url":"https://api.github.com/users/sta105/orgs","repos_url":"https://api.github.com/users/sta105/repos","events_url":"https://api.github.com/users/sta105/events{/privacy}","received_events_url":"https://api.github.com/users/sta105/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-12-10T07:01:33Z","updated_at":"2016-12-11T01:54:15Z","closed_at":"2016-12-11T01:54:15Z","body":"Hi songuke\r\n\r\nI tried to build DVO SLAM by your instruction, and I use Ubuntu 16.04, ROS Kinetic, the g2o part is fine, but when I was building DVO SLAM, tons of errors about sophus occur.\r\n-------------------------------------------------------------------------\r\nerror message: \r\nsicong@sicong-Lenovo-ideapad-Y700-15ISK:~/catkin_ws$ catkin_make -DCMAKE_BUILD_TYPE=Release\r\nBase path: /home/sicong/catkin_ws\r\nSource space: /home/sicong/catkin_ws/src\r\nBuild space: /home/sicong/catkin_ws/build\r\nDevel space: /home/sicong/catkin_ws/devel\r\nInstall space: /home/sicong/catkin_ws/install\r\n####\r\n#### Running command: \"cmake /home/sicong/catkin_ws/src -DCMAKE_BUILD_TYPE=Release -DCATKIN_DEVEL_PREFIX=/home/sicong/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/sicong/catkin_ws/install -G Unix Makefiles\" in \"/home/sicong/catkin_ws/build\"\r\n####\r\n-- Using CATKIN_DEVEL_PREFIX: /home/sicong/catkin_ws/devel\r\n-- Using CMAKE_PREFIX_PATH: /home/sicong/catkin_ws/devel;/opt/ros/kinetic\r\n-- This workspace overlays: /home/sicong/catkin_ws/devel;/opt/ros/kinetic\r\n-- Using PYTHON_EXECUTABLE: /usr/bin/python\r\n-- Using Debian Python package layout\r\n-- Using empy: /usr/bin/empy\r\n-- Using CATKIN_ENABLE_TESTING: ON\r\n-- Call enable_testing()\r\n-- Using CATKIN_TEST_RESULTS_DIR: /home/sicong/catkin_ws/build/test_results\r\n-- Found gtest sources under '/usr/src/gtest': gtests will be built\r\n-- Using Python nosetests: /usr/bin/nosetests-2.7\r\n-- catkin 0.7.4\r\n-- BUILD_SHARED_LIBS is on\r\n-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n-- ~~  traversing 4 packages in topological order:\r\n-- ~~  - dvo_core\r\n-- ~~  - dvo_ros\r\n-- ~~  - dvo_slam\r\n-- ~~  - dvo_benchmark\r\n-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n-- +++ processing catkin package: 'dvo_core'\r\n-- ==> add_subdirectory(dvo_slam/src/dvo_core)\r\n-- Boost version: 1.58.0\r\n-- Found the following Boost libraries:\r\n--   thread\r\n--   chrono\r\n--   system\r\n--   date_time\r\n--   atomic\r\n-- Found Intel TBB\r\n-- Checking for module 'eigen3'\r\n--   Found eigen3, version 3.2.92\r\n-- Found eigen: /usr/include/eigen3  \r\n-- Boost version: 1.58.0\r\n-- Found the following Boost libraries:\r\n--   system\r\n--   filesystem\r\n--   thread\r\n--   date_time\r\n--   iostreams\r\n--   serialization\r\n--   chrono\r\n--   atomic\r\n--   regex\r\n-- Checking for module 'flann'\r\n--   Found flann, version 1.8.4\r\n-- Found Flann: /usr/lib/x86_64-linux-gnu/libflann_cpp_s.a  \r\n-- looking for PCL_COMMON\r\n-- Found PCL_COMMON: /usr/local/lib/libpcl_common.so  \r\n-- looking for PCL_KDTREE\r\n-- Found PCL_KDTREE: /usr/local/lib/libpcl_kdtree.so  \r\n-- looking for PCL_OCTREE\r\n-- Found PCL_OCTREE: /usr/local/lib/libpcl_octree.so  \r\n-- looking for PCL_SEARCH\r\n-- Found PCL_SEARCH: /usr/local/lib/libpcl_search.so  \r\n-- looking for PCL_SAMPLE_CONSENSUS\r\n-- Found PCL_SAMPLE_CONSENSUS: /usr/local/lib/libpcl_sample_consensus.so  \r\n-- looking for PCL_FILTERS\r\n-- Found PCL_FILTERS: /usr/local/lib/libpcl_filters.so  \r\n-- Found PCL: /usr/lib/x86_64-linux-gnu/libboost_system.so;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_thread.so;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;/usr/lib/x86_64-linux-gnu/libboost_iostreams.so;/usr/lib/x86_64-linux-gnu/libboost_serialization.so;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;/usr/lib/x86_64-linux-gnu/libboost_atomic.so;/usr/lib/x86_64-linux-gnu/libboost_regex.so;/usr/lib/x86_64-linux-gnu/libpthread.so;optimized;/usr/local/lib/libpcl_common.so;debug;/usr/local/lib/libpcl_common.so;optimized;/usr/lib/x86_64-linux-gnu/libflann_cpp_s.a;debug;/usr/lib/x86_64-linux-gnu/libflann_cpp_s.a;optimized;/usr/local/lib/libpcl_kdtree.so;debug;/usr/local/lib/libpcl_kdtree.so;optimized;/usr/local/lib/libpcl_octree.so;debug;/usr/local/lib/libpcl_octree.so;optimized;/usr/local/lib/libpcl_search.so;debug;/usr/local/lib/libpcl_search.so;optimized;/usr/local/lib/libpcl_sample_consensus.so;debug;/usr/local/lib/libpcl_sample_consensus.so;optimized;/usr/local/lib/libpcl_filters.so;debug;/usr/local/lib/libpcl_filters.so;/usr/lib/x86_64-linux-gnu/libboost_system.so;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_thread.so;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;/usr/lib/x86_64-linux-gnu/libboost_iostreams.so;/usr/lib/x86_64-linux-gnu/libboost_serialization.so;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;/usr/lib/x86_64-linux-gnu/libboost_atomic.so;/usr/lib/x86_64-linux-gnu/libboost_regex.so;/usr/lib/x86_64-linux-gnu/libpthread.so;optimized;/usr/lib/x86_64-linux-gnu/libflann_cpp_s.a;debug;/usr/lib/x86_64-linux-gnu/libflann_cpp_s.a  \r\n-- +++ processing catkin package: 'dvo_ros'\r\n-- ==> add_subdirectory(dvo_slam/src/dvo_ros)\r\n-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy\r\n-- +++ processing catkin package: 'dvo_slam'\r\n-- ==> add_subdirectory(dvo_slam/src/dvo_slam)\r\n-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy\r\n-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so  \r\n-- found g2o YES\r\nCMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:166 (message):\r\n  catkin_package() DEPENDS on 'G2O' but neither 'G2O_INCLUDE_DIRS' nor\r\n  'G2O_LIBRARIES' is defined.\r\nCall Stack (most recent call first):\r\n  /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)\r\n  dvo_slam/src/dvo_slam/CMakeLists.txt:24 (catkin_package)\r\n\r\n\r\nG2O lib: /usr/local/lib/libg2o_core.a\r\n-- +++ processing catkin package: 'dvo_benchmark'\r\n-- ==> add_subdirectory(dvo_slam/src/dvo_benchmark)\r\n-- Configuring done\r\n-- Generating done\r\n-- Build files have been written to: /home/sicong/catkin_ws/build\r\n####\r\n#### Running command: \"make -j8 -l8\" in \"/home/sicong/catkin_ws/build\"\r\n####\r\nScanning dependencies of target dvo_ros_gencfg\r\nScanning dependencies of target dvo_slam_gencfg\r\nScanning dependencies of target dvo_core\r\n[  6%] Generating dynamic reconfigure files from cfg/KeyframeSlam.cfg: /home/sicong/catkin_ws/devel/include/dvo_slam/KeyframeSlamConfig.h /home/sicong/catkin_ws/devel/lib/python2.7/dist-packages/dvo_slam/cfg/KeyframeSlamConfig.py\r\n[  6%] Generating dynamic reconfigure files from cfg/CameraDenseTracker.cfg: /home/sicong/catkin_ws/devel/include/dvo_ros/CameraDenseTrackerConfig.h /home/sicong/catkin_ws/devel/lib/python2.7/dist-packages/dvo_ros/cfg/CameraDenseTrackerConfig.py\r\n[  6%] Generating dynamic reconfigure files from cfg/GraphVisualizer.cfg: /home/sicong/catkin_ws/devel/include/dvo_slam/GraphVisualizerConfig.h /home/sicong/catkin_ws/devel/lib/python2.7/dist-packages/dvo_slam/cfg/GraphVisualizerConfig.py\r\nGenerating reconfiguration files for GraphVisualizer in dvo_slam\r\nGenerating reconfiguration files for KeyframeSlam in dvo_slam\r\nGenerating reconfiguration files for CameraDenseTracker in dvo_ros\r\nWrote header file in /home/sicong/catkin_ws/devel/include/dvo_slam/GraphVisualizerConfig.h\r\nWrote header file in /home/sicong/catkin_ws/devel/include/dvo_ros/CameraDenseTrackerConfig.h\r\nWrote header file in /home/sicong/catkin_ws/devel/include/dvo_slam/KeyframeSlamConfig.h\r\n[  6%] Built target dvo_slam_gencfg\r\n[  6%] Built target dvo_ros_gencfg\r\n[  8%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/core/interpolation.cpp.o\r\n[ 10%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/core/least_squares.cpp.o\r\n[ 12%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/core/intrinsic_matrix.cpp.o\r\n[ 14%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/core/math_sse.cpp.o\r\n[ 17%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/core/rgbd_image.cpp.o\r\n[ 21%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/core/rgbd_image_sse.cpp.o\r\n[ 21%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/core/point_selection.cpp.o\r\n[ 23%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/core/surface_pyramid.cpp.o\r\n[ 25%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/core/weight_calculation.cpp.o\r\n[ 27%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/util/histogram.cpp.o\r\n[ 29%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/visualization/camera_trajectory_visualizer.cpp.o\r\n[ 31%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/dense_tracking.cpp.o\r\n[ 34%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/dense_tracking_impl.cpp.o\r\n[ 36%] Building CXX object dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/dense_tracking_config.cpp.o\r\nIn file included from /usr/local/include/sophus/sophus.hpp:28:0,\r\n                 from /usr/local/include/sophus/so3.hpp:29,\r\n                 from /usr/local/include/sophus/se3.hpp:27,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/ensure.hpp:68:10: error: expected type-specifier before ‘decltype’\r\n       -> decltype(std::declval<std::stringstream&>() << std::declval<TT>(),\r\n          ^\r\n/usr/local/include/sophus/ensure.hpp:68:10: error: expected initializer before ‘decltype’\r\n/usr/local/include/sophus/ensure.hpp:72:33: error: ‘false_type’ in namespace ‘std’ does not name a type\r\n   static auto test(...) -> std::false_type;\r\n                                 ^\r\n/usr/local/include/sophus/ensure.hpp:72:33: error: conflicting specifiers in declaration of ‘test’\r\n/usr/local/include/sophus/ensure.hpp:75:38: error: ‘test’ was not declared in this scope\r\n   static const bool value = decltype(test<T>(0))::value;\r\n                                      ^\r\n/usr/local/include/sophus/ensure.hpp:75:44: error: expected primary-expression before ‘>’ token\r\n   static const bool value = decltype(test<T>(0))::value;\r\n                                            ^\r\n/usr/local/include/sophus/ensure.hpp:75:48: error: a function call cannot appear in a constant-expression\r\n   static const bool value = decltype(test<T>(0))::value;\r\n                                                ^\r\n/usr/local/include/sophus/ensure.hpp:75:48: error: expected ‘;’ at end of member declaration\r\n/usr/local/include/sophus/ensure.hpp:75:51: error: using-declaration for non-member at class scope\r\n   static const bool value = decltype(test<T>(0))::value;\r\n                                                   ^\r\n/usr/local/include/sophus/ensure.hpp:169:61: error: expected ‘,’ or ‘...’ before ‘&&’ token\r\n                                const char* description, Args&&... args) {\r\n                                                             ^\r\n/usr/local/include/sophus/ensure.hpp:169:71: error: parameter packs not expanded with ‘...’:\r\n                                const char* description, Args&&... args) {\r\n                                                                       ^\r\n/usr/local/include/sophus/ensure.hpp:169:71: note:         ‘Args’\r\n/usr/local/include/sophus/ensure.hpp: In function ‘void Sophus::defaultEnsure(const char*, const char*, int, const char*, <type error>)’:\r\n/usr/local/include/sophus/ensure.hpp:175:51: error: ‘forward’ is not a member of ‘std’\r\n   std::cout << details::FormatString(description, std::forward<Args>(args)...)\r\n                                                   ^\r\n/usr/local/include/sophus/ensure.hpp:175:68: error: expected primary-expression before ‘>’ token\r\n   std::cout << details::FormatString(description, std::forward<Args>(args)...)\r\n                                                                    ^\r\n/usr/local/include/sophus/ensure.hpp:175:70: error: ‘args’ was not declared in this scope\r\n   std::cout << details::FormatString(description, std::forward<Args>(args)...)\r\n                                                                      ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp: At global scope:\r\n/usr/local/include/sophus/so3.hpp:56:49: error: template argument 2 is invalid\r\n struct traits<Sophus::SO3Group<_Scalar, _Options>> {\r\n                                                 ^\r\n/usr/local/include/sophus/so3.hpp:56:23: error: template argument 1 is invalid\r\n struct traits<Sophus::SO3Group<_Scalar, _Options>> {\r\n                       ^\r\n/usr/local/include/sophus/so3.hpp:63:48: error: template argument 2 is invalid\r\n     : traits<Sophus::SO3Group<_Scalar, _Options>> {\r\n                                                ^\r\n/usr/local/include/sophus/so3.hpp:62:15: error: template argument 1 is invalid\r\n struct traits<Map<Sophus::SO3Group<_Scalar>, _Options>>\r\n               ^\r\n/usr/local/include/sophus/so3.hpp:70:54: error: template argument 2 is invalid\r\n     : traits<const Sophus::SO3Group<_Scalar, _Options>> {\r\n                                                      ^\r\n/usr/local/include/sophus/so3.hpp:69:15: error: template argument 1 is invalid\r\n struct traits<Map<const Sophus::SO3Group<_Scalar>, _Options>>\r\n               ^\r\n/usr/local/include/sophus/so3.hpp:92:9: error: expected nested-name-specifier before ‘Scalar’\r\n   using Scalar = typename Eigen::internal::traits<Derived>::Scalar;\r\n         ^\r\n/usr/local/include/sophus/so3.hpp:94:9: error: expected nested-name-specifier before ‘QuaternionReference’\r\n   using QuaternionReference =\r\n         ^\r\n/usr/local/include/sophus/so3.hpp:97:9: error: expected nested-name-specifier before ‘ConstQuaternionReference’\r\n   using ConstQuaternionReference =\r\n         ^\r\n/usr/local/include/sophus/so3.hpp:109:25: error: ‘Scalar’ was not declared in this scope\r\n   typedef Eigen::Matrix<Scalar, N, N> Transformation;\r\n                         ^\r\n/usr/local/include/sophus/so3.hpp:109:25: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:109:37: error: template argument 1 is invalid\r\n   typedef Eigen::Matrix<Scalar, N, N> Transformation;\r\n                                     ^\r\n/usr/local/include/sophus/so3.hpp:111:25: error: ‘Scalar’ was not declared in this scope\r\n   typedef Eigen::Matrix<Scalar, 3, 1> Point;\r\n                         ^\r\n/usr/local/include/sophus/so3.hpp:111:25: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:111:37: error: template argument 1 is invalid\r\n   typedef Eigen::Matrix<Scalar, 3, 1> Point;\r\n                                     ^\r\n/usr/local/include/sophus/so3.hpp:113:25: error: ‘Scalar’ was not declared in this scope\r\n   typedef Eigen::Matrix<Scalar, DoF, 1> Tangent;\r\n                         ^\r\n/usr/local/include/sophus/so3.hpp:113:25: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:113:39: error: template argument 1 is invalid\r\n   typedef Eigen::Matrix<Scalar, DoF, 1> Tangent;\r\n                                       ^\r\n/usr/local/include/sophus/so3.hpp:115:25: error: ‘Scalar’ was not declared in this scope\r\n   typedef Eigen::Matrix<Scalar, DoF, DoF> Adjoint;\r\n                         ^\r\n/usr/local/include/sophus/so3.hpp:115:25: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:115:41: error: template argument 1 is invalid\r\n   typedef Eigen::Matrix<Scalar, DoF, DoF> Adjoint;\r\n                                         ^\r\n/usr/local/include/sophus/so3.hpp:150:15: error: ‘Scalar’ does not name a type\r\n   SOPHUS_FUNC Scalar* data() {\r\n               ^\r\n/usr/local/include/sophus/so3.hpp:159:21: error: ‘Scalar’ does not name a type\r\n   SOPHUS_FUNC const Scalar* data() const {\r\n                     ^\r\n/usr/local/include/sophus/so3.hpp:170:29: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC Eigen::Matrix<Scalar, num_parameters, 1>\r\n                             ^\r\n/usr/local/include/sophus/so3.hpp:170:29: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:170:54: error: template argument 1 is invalid\r\n   SOPHUS_FUNC Eigen::Matrix<Scalar, num_parameters, 1>\r\n                                                      ^\r\n/usr/local/include/sophus/so3.hpp:185:17: error: ‘Scalar’ was not declared in this scope\r\n   Eigen::Matrix<Scalar, num_parameters, DoF> internalJacobian() const {\r\n                 ^\r\n/usr/local/include/sophus/so3.hpp:185:17: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:185:44: error: template argument 1 is invalid\r\n   Eigen::Matrix<Scalar, num_parameters, DoF> internalJacobian() const {\r\n                                            ^\r\n/usr/local/include/sophus/so3.hpp:196:24: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC SO3Group<Scalar> inverse() const {\r\n                        ^\r\n/usr/local/include/sophus/so3.hpp:196:24: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:196:30: error: template argument 1 is invalid\r\n   SOPHUS_FUNC SO3Group<Scalar> inverse() const {\r\n                              ^\r\n/usr/local/include/sophus/so3.hpp:246:24: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC SO3Group<Scalar> operator*(const SO3Group<Scalar>& other) const {\r\n                        ^\r\n/usr/local/include/sophus/so3.hpp:246:24: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:246:30: error: template argument 1 is invalid\r\n   SOPHUS_FUNC SO3Group<Scalar> operator*(const SO3Group<Scalar>& other) const {\r\n                              ^\r\n/usr/local/include/sophus/so3.hpp:246:57: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC SO3Group<Scalar> operator*(const SO3Group<Scalar>& other) const {\r\n                                                         ^\r\n/usr/local/include/sophus/so3.hpp:246:57: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:246:63: error: template argument 1 is invalid\r\n   SOPHUS_FUNC SO3Group<Scalar> operator*(const SO3Group<Scalar>& other) const {\r\n                                                               ^\r\n/usr/local/include/sophus/so3.hpp:271:21: error: ‘Sophus::SO3GroupBase<Derived>::Point Sophus::SO3GroupBase<Derived>::operator*(const Point&) const’ cannot be overloaded\r\n   SOPHUS_FUNC Point operator*(const Point& p) const {\r\n                     ^\r\n/usr/local/include/sophus/so3.hpp:246:32: error: with ‘int Sophus::SO3GroupBase<Derived>::operator*(const int&) const’\r\n   SOPHUS_FUNC SO3Group<Scalar> operator*(const SO3Group<Scalar>& other) const {\r\n                                ^\r\n/usr/local/include/sophus/so3.hpp:280:64: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC SO3GroupBase<Derived>& operator*=(const SO3Group<Scalar>& other) {\r\n                                                                ^\r\n/usr/local/include/sophus/so3.hpp:280:64: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:280:70: error: template argument 1 is invalid\r\n   SOPHUS_FUNC SO3GroupBase<Derived>& operator*=(const SO3Group<Scalar>& other) {\r\n                                                                      ^\r\n/usr/local/include/sophus/so3.hpp:307:58: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC void setQuaternion(const Eigen::Quaternion<Scalar>& quaternion) {\r\n                                                          ^\r\n/usr/local/include/sophus/so3.hpp:307:58: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:307:64: error: template argument 1 is invalid\r\n   SOPHUS_FUNC void setQuaternion(const Eigen::Quaternion<Scalar>& quaternion) {\r\n                                                                ^\r\n/usr/local/include/sophus/so3.hpp:317:15: error: ‘ConstQuaternionReference’ does not name a type\r\n   SOPHUS_FUNC ConstQuaternionReference unit_quaternion() const {\r\n               ^\r\n/usr/local/include/sophus/so3.hpp:352:31: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC static SO3Group<Scalar> exp(const Tangent& omega) {\r\n                               ^\r\n/usr/local/include/sophus/so3.hpp:352:31: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:352:37: error: template argument 1 is invalid\r\n   SOPHUS_FUNC static SO3Group<Scalar> exp(const Tangent& omega) {\r\n                                     ^\r\n/usr/local/include/sophus/so3.hpp:366:31: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC static SO3Group<Scalar> expAndTheta(const Tangent& omega,\r\n                               ^\r\n/usr/local/include/sophus/so3.hpp:366:31: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:366:37: error: template argument 1 is invalid\r\n   SOPHUS_FUNC static SO3Group<Scalar> expAndTheta(const Tangent& omega,\r\n                                     ^\r\n/usr/local/include/sophus/so3.hpp:367:51: error: ‘Scalar’ has not been declared\r\n                                                   Scalar* theta) {\r\n                                                   ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:434:32: error: ‘Scalar’ was not declared in this scope\r\n       int i, Eigen::Quaternion<Scalar>* internal_gen_q) {\r\n                                ^\r\n/usr/local/include/sophus/so3.hpp:434:32: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:434:38: error: template argument 1 is invalid\r\n       int i, Eigen::Quaternion<Scalar>* internal_gen_q) {\r\n                                      ^\r\n/usr/local/include/sophus/so3.hpp:506:49: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC static Tangent log(const SO3Group<Scalar>& other) {\r\n                                                 ^\r\n/usr/local/include/sophus/so3.hpp:506:49: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:506:55: error: template argument 1 is invalid\r\n   SOPHUS_FUNC static Tangent log(const SO3Group<Scalar>& other) {\r\n                                                       ^\r\n/usr/local/include/sophus/so3.hpp:521:57: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC static Tangent logAndTheta(const SO3Group<Scalar>& other,\r\n                                                         ^\r\n/usr/local/include/sophus/so3.hpp:521:57: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:521:63: error: template argument 1 is invalid\r\n   SOPHUS_FUNC static Tangent logAndTheta(const SO3Group<Scalar>& other,\r\n                                                               ^\r\n/usr/local/include/sophus/so3.hpp:522:42: error: ‘Scalar’ has not been declared\r\n                                          Scalar* theta) {\r\n                                          ^\r\n/usr/local/include/sophus/so3.hpp:583:15: error: ‘QuaternionReference’ does not name a type\r\n   SOPHUS_FUNC QuaternionReference unit_quaternion_nonconst() {\r\n               ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp: In member function ‘Sophus::SO3Group<NewScalarType> Sophus::SO3GroupBase<Derived>::cast() const’:\r\n/usr/local/include/sophus/so3.hpp:135:25: error: there are no arguments to ‘unit_quaternion’ that depend on a template parameter, so a declaration of ‘unit_quaternion’ must be available [-fpermissive]\r\n         unit_quaternion().template cast<NewScalarType>());\r\n                         ^\r\n/usr/local/include/sophus/so3.hpp:135:25: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)\r\n/usr/local/include/sophus/so3.hpp: In member function ‘int Sophus::SO3GroupBase<Derived>::internalMultiplyByGenerator(int) const’:\r\n/usr/local/include/sophus/so3.hpp:172:19: error: ‘Scalar’ was not declared in this scope\r\n     Eigen::Matrix<Scalar, num_parameters, 1> res;\r\n                   ^\r\n/usr/local/include/sophus/so3.hpp:172:19: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:172:44: error: template argument 1 is invalid\r\n     Eigen::Matrix<Scalar, num_parameters, 1> res;\r\n                                            ^\r\n/usr/local/include/sophus/so3.hpp:173:29: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Scalar, int Options> class Eigen::Quaternion’\r\n     Eigen::Quaternion<Scalar> internal_gen_q;\r\n                             ^\r\n/usr/local/include/sophus/so3.hpp:173:29: note:   expected a type, got ‘Scalar’\r\n/usr/local/include/sophus/so3.hpp:175:47: error: there are no arguments to ‘unit_quaternion’ that depend on a template parameter, so a declaration of ‘unit_quaternion’ must be available [-fpermissive]\r\n     res.template head<4>() = (unit_quaternion() * internal_gen_q).coeffs();\r\n                                               ^\r\n/usr/local/include/sophus/so3.hpp: In member function ‘int Sophus::SO3GroupBase<Derived>::internalJacobian() const’:\r\n/usr/local/include/sophus/so3.hpp:186:19: error: ‘Scalar’ was not declared in this scope\r\n     Eigen::Matrix<Scalar, num_parameters, DoF> J;\r\n                   ^\r\n/usr/local/include/sophus/so3.hpp:186:19: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:186:46: error: template argument 1 is invalid\r\n     Eigen::Matrix<Scalar, num_parameters, DoF> J;\r\n                                              ^\r\n/usr/local/include/sophus/so3.hpp:188:9: error: request for member ‘col’ in ‘J’, which is of non-class type ‘int’\r\n       J.col(i) = internalMultiplyByGenerator(i);\r\n         ^\r\n/usr/local/include/sophus/so3.hpp: In member function ‘int Sophus::SO3GroupBase<Derived>::inverse() const’:\r\n/usr/local/include/sophus/so3.hpp:197:21: error: ‘Scalar’ was not declared in this scope\r\n     return SO3Group<Scalar>(unit_quaternion().conjugate());\r\n                     ^\r\n/usr/local/include/sophus/so3.hpp:197:21: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:197:27: error: template argument 1 is invalid\r\n     return SO3Group<Scalar>(unit_quaternion().conjugate());\r\n                           ^\r\n/usr/local/include/sophus/so3.hpp:197:45: error: there are no arguments to ‘unit_quaternion’ that depend on a template parameter, so a declaration of ‘unit_quaternion’ must be available [-fpermissive]\r\n     return SO3Group<Scalar>(unit_quaternion().conjugate());\r\n                                             ^\r\n/usr/local/include/sophus/so3.hpp: In member function ‘Sophus::SO3GroupBase<Derived>::Tangent Sophus::SO3GroupBase<Derived>::log() const’:\r\n/usr/local/include/sophus/so3.hpp:207:53: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC Tangent log() const { return SO3Group<Scalar>::log(*this); }\r\n                                                     ^\r\n/usr/local/include/sophus/so3.hpp:207:53: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:207:59: error: template argument 1 is invalid\r\n   SOPHUS_FUNC Tangent log() const { return SO3Group<Scalar>::log(*this); }\r\n                                                           ^\r\n/usr/local/include/sophus/so3.hpp: In member function ‘void Sophus::SO3GroupBase<Derived>::normalize()’:\r\n/usr/local/include/sophus/so3.hpp:215:5: error: ‘Scalar’ was not declared in this scope\r\n     Scalar length = unit_quaternion_nonconst().norm();\r\n     ^\r\n/usr/local/include/sophus/so3.hpp:215:5: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/sophus.hpp:28:0,\r\n                 from /usr/local/include/sophus/so3.hpp:29,\r\n                 from /usr/local/include/sophus/se3.hpp:27,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:216:5: error: ‘length’ was not declared in this scope\r\n     SOPHUS_ENSURE(length >= Constants<Scalar>::epsilon(),\r\n     ^\r\n/usr/local/include/sophus/so3.hpp:216:5: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Scalar> struct Sophus::Constants’\r\n     SOPHUS_ENSURE(length >= Constants<Scalar>::epsilon(),\r\n     ^\r\n/usr/local/include/sophus/so3.hpp:216:5: note:   expected a type, got ‘Scalar’\r\n/usr/local/include/sophus/so3.hpp:216:5: error: there are no arguments to ‘unit_quaternion_nonconst’ that depend on a template parameter, so a declaration of ‘unit_quaternion_nonconst’ must be available [-fpermissive]\r\n     SOPHUS_ENSURE(length >= Constants<Scalar>::epsilon(),\r\n     ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:219:30: error: there are no arguments to ‘unit_quaternion_nonconst’ that depend on a template parameter, so a declaration of ‘unit_quaternion_nonconst’ must be available [-fpermissive]\r\n     unit_quaternion_nonconst().coeffs() /= length;\r\n                              ^\r\n/usr/local/include/sophus/so3.hpp: In member function ‘Sophus::SO3GroupBase<Derived>::Transformation Sophus::SO3GroupBase<Derived>::matrix() const’:\r\n/usr/local/include/sophus/so3.hpp:229:28: error: there are no arguments to ‘unit_quaternion’ that depend on a template parameter, so a declaration of ‘unit_quaternion’ must be available [-fpermissive]\r\n     return unit_quaternion().toRotationMatrix();\r\n                            ^\r\n/usr/local/include/sophus/so3.hpp: In member function ‘Sophus::SO3GroupBase<Derived>& Sophus::SO3GroupBase<Derived>::operator=(const Sophus::SO3GroupBase<OtherDerived>&)’:\r\n/usr/local/include/sophus/so3.hpp:238:30: error: there are no arguments to ‘unit_quaternion_nonconst’ that depend on a template parameter, so a declaration of ‘unit_quaternion_nonconst’ must be available [-fpermissive]\r\n     unit_quaternion_nonconst() = other.unit_quaternion();\r\n                              ^\r\n/usr/local/include/sophus/so3.hpp: In member function ‘int Sophus::SO3GroupBase<Derived>::operator*(const int&) const’:\r\n/usr/local/include/sophus/so3.hpp:247:14: error: ‘Scalar’ was not declared in this scope\r\n     SO3Group<Scalar> result(*this);\r\n              ^\r\n/usr/local/include/sophus/so3.hpp:247:14: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:247:20: error: template argument 1 is invalid\r\n     SO3Group<Scalar> result(*this);\r\n                    ^\r\n/usr/local/include/sophus/so3.hpp: In member function ‘Sophus::SO3GroupBase<Derived>::Point Sophus::SO3GroupBase<Derived>::operator*(const Point&) const’:\r\n/usr/local/include/sophus/so3.hpp:272:28: error: there are no arguments to ‘unit_quaternion’ that depend on a template parameter, so a declaration of ‘unit_quaternion’ must be available [-fpermissive]\r\n     return unit_quaternion()._transformVector(p);\r\n                            ^\r\n/usr/local/include/sophus/so3.hpp: In member function ‘Sophus::SO3GroupBase<Derived>& Sophus::SO3GroupBase<Derived>::operator*=(const int&)’:\r\n/usr/local/include/sophus/so3.hpp:281:30: error: there are no arguments to ‘unit_quaternion_nonconst’ that depend on a template parameter, so a declaration of ‘unit_quaternion_nonconst’ must be available [-fpermissive]\r\n     unit_quaternion_nonconst() *= other.unit_quaternion();\r\n                              ^\r\n/usr/local/include/sophus/so3.hpp:281:41: error: request for member ‘unit_quaternion’ in ‘other’, which is of non-class type ‘const int’\r\n     unit_quaternion_nonconst() *= other.unit_quaternion();\r\n                                         ^\r\n/usr/local/include/sophus/so3.hpp:283:5: error: ‘Scalar’ was not declared in this scope\r\n     Scalar squared_norm = unit_quaternion().squaredNorm();\r\n     ^\r\n/usr/local/include/sophus/so3.hpp:283:5: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:292:9: error: ‘squared_norm’ was not declared in this scope\r\n     if (squared_norm != Scalar(1.0)) {\r\n         ^\r\n/usr/local/include/sophus/so3.hpp:293:32: error: there are no arguments to ‘unit_quaternion_nonconst’ that depend on a template parameter, so a declaration of ‘unit_quaternion_nonconst’ must be available [-fpermissive]\r\n       unit_quaternion_nonconst().coeffs() *=\r\n                                ^\r\n/usr/local/include/sophus/so3.hpp: In member function ‘void Sophus::SO3GroupBase<Derived>::setQuaternion(const int&)’:\r\n/usr/local/include/sophus/so3.hpp:308:30: error: there are no arguments to ‘unit_quaternion_nonconst’ that depend on a template parameter, so a declaration of ‘unit_quaternion_nonconst’ must be available [-fpermissive]\r\n     unit_quaternion_nonconst() = quaternion;\r\n                              ^\r\n/usr/local/include/sophus/so3.hpp: In static member function ‘static int Sophus::SO3GroupBase<Derived>::exp(const Tangent&)’:\r\n/usr/local/include/sophus/so3.hpp:353:5: error: ‘Scalar’ was not declared in this scope\r\n     Scalar theta;\r\n     ^\r\n/usr/local/include/sophus/so3.hpp:353:5: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:354:32: error: ‘theta’ was not declared in this scope\r\n     return expAndTheta(omega, &theta);\r\n                                ^\r\n/usr/local/include/sophus/so3.hpp: In static member function ‘static int Sophus::SO3GroupBase<Derived>::expAndTheta(const Tangent&, int*)’:\r\n/usr/local/include/sophus/so3.hpp:368:5: error: ‘Scalar’ was not declared in this scope\r\n     Scalar theta_sq = omega.squaredNorm();\r\n     ^\r\n/usr/local/include/sophus/so3.hpp:368:5: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:369:19: error: ‘theta_sq’ was not declared in this scope\r\n     *theta = sqrt(theta_sq);\r\n                   ^\r\n/usr/local/include/sophus/so3.hpp:370:12: error: expected ‘;’ before ‘half_theta’\r\n     Scalar half_theta = static_cast<Scalar>(0.5) * (*theta);\r\n            ^\r\n/usr/local/include/sophus/so3.hpp:372:12: error: expected ‘;’ before ‘imag_factor’\r\n     Scalar imag_factor;\r\n            ^\r\n/usr/local/include/sophus/so3.hpp:373:12: error: expected ‘;’ before ‘real_factor’\r\n     Scalar real_factor;\r\n            ^\r\n/usr/local/include/sophus/so3.hpp:375:36: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Scalar> struct Sophus::Constants’\r\n     if ((*theta) < Constants<Scalar>::epsilon()) {\r\n                                    ^\r\n/usr/local/include/sophus/so3.hpp:375:36: note:   expected a type, got ‘Scalar’\r\n/usr/local/include/sophus/so3.hpp:376:14: error: expected ‘;’ before ‘theta_po4’\r\n       Scalar theta_po4 = theta_sq * theta_sq;\r\n              ^\r\n/usr/local/include/sophus/so3.hpp:377:7: error: ‘imag_factor’ was not declared in this scope\r\n       imag_factor = static_cast<Scalar>(0.5) -\r\n       ^\r\n/usr/local/include/sophus/so3.hpp:377:33: error: ‘Scalar’ does not name a type\r\n       imag_factor = static_cast<Scalar>(0.5) -\r\n                                 ^\r\n/usr/local/include/sophus/so3.hpp:378:33: error: ‘Scalar’ does not name a type\r\n                     static_cast<Scalar>(1.0 / 48.0) * theta_sq +\r\n                                 ^\r\n/usr/local/include/sophus/so3.hpp:379:33: error: ‘Scalar’ does not name a type\r\n                     static_cast<Scalar>(1.0 / 3840.0) * theta_po4;\r\n                                 ^\r\n/usr/local/include/sophus/so3.hpp:379:57: error: ‘theta_po4’ was not declared in this scope\r\n                     static_cast<Scalar>(1.0 / 3840.0) * theta_po4;\r\n                                                         ^\r\n/usr/local/include/sophus/so3.hpp:380:7: error: ‘real_factor’ was not declared in this scope\r\n       real_factor = static_cast<Scalar>(1) -\r\n       ^\r\n/usr/local/include/sophus/so3.hpp:380:33: error: ‘Scalar’ does not name a type\r\n       real_factor = static_cast<Scalar>(1) -\r\n                                 ^\r\n/usr/local/include/sophus/so3.hpp:381:33: error: ‘Scalar’ does not name a type\r\n                     static_cast<Scalar>(0.5) * theta_sq +\r\n                                 ^\r\n/usr/local/include/sophus/so3.hpp:382:33: error: ‘Scalar’ does not name a type\r\n                     static_cast<Scalar>(1.0 / 384.0) * theta_po4;\r\n                                 ^\r\n/usr/local/include/sophus/so3.hpp:384:14: error: expected ‘;’ before ‘sin_half_theta’\r\n       Scalar sin_half_theta = sin(half_theta);\r\n              ^\r\n/usr/local/include/sophus/so3.hpp:385:7: error: ‘imag_factor’ was not declared in this scope\r\n       imag_factor = sin_half_theta / (*theta);\r\n       ^\r\n/usr/local/include/sophus/so3.hpp:385:21: error: ‘sin_half_theta’ was not declared in this scope\r\n       imag_factor = sin_half_theta / (*theta);\r\n                     ^\r\n/usr/local/include/sophus/so3.hpp:386:7: error: ‘real_factor’ was not declared in this scope\r\n       real_factor = cos(half_theta);\r\n       ^\r\n/usr/local/include/sophus/so3.hpp:386:25: error: ‘half_theta’ was not declared in this scope\r\n       real_factor = cos(half_theta);\r\n                         ^\r\n/usr/local/include/sophus/so3.hpp:389:27: error: type/value mismatch at argument 1 in template parameter list for ‘template<class _Scalar, int _Options> class Sophus::SO3Group’\r\n     return SO3Group<Scalar>(Eigen::Quaternion<Scalar>(\r\n                           ^\r\n/usr/local/include/sophus/so3.hpp:389:27: note:   expected a type, got ‘Scalar’\r\n/usr/local/include/sophus/so3.hpp:389:53: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Scalar, int Options> class Eigen::Quaternion’\r\n     return SO3Group<Scalar>(Eigen::Quaternion<Scalar>(\r\n                                                     ^\r\n/usr/local/include/sophus/so3.hpp:389:53: note:   expected a type, got ‘Scalar’\r\n/usr/local/include/sophus/so3.hpp:390:9: error: ‘real_factor’ was not declared in this scope\r\n         real_factor, imag_factor * omega.x(), imag_factor * omega.y(),\r\n         ^\r\n/usr/local/include/sophus/so3.hpp:390:22: error: ‘imag_factor’ was not declared in this scope\r\n         real_factor, imag_factor * omega.x(), imag_factor * omega.y(),\r\n                      ^\r\n/usr/local/include/sophus/so3.hpp:390:42: error: request for member ‘x’ in ‘omega’, which is of non-class type ‘const Tangent {aka const int}’\r\n         real_factor, imag_factor * omega.x(), imag_factor * omega.y(),\r\n                                          ^\r\n/usr/local/include/sophus/so3.hpp:390:67: error: request for member ‘y’ in ‘omega’, which is of non-class type ‘const Tangent {aka const int}’\r\n         real_factor, imag_factor * omega.x(), imag_factor * omega.y(),\r\n                                                                   ^\r\n/usr/local/include/sophus/so3.hpp:391:29: error: request for member ‘z’ in ‘omega’, which is of non-class type ‘const Tangent {aka const int}’\r\n         imag_factor * omega.z()));\r\n                             ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp: In static member function ‘static Sophus::SO3GroupBase<Derived>::Transformation Sophus::SO3GroupBase<Derived>::generator(int)’:\r\n/usr/local/include/sophus/so3.hpp:423:7: error: request for member ‘setZero’ in ‘e’, which is of non-class type ‘Sophus::SO3GroupBase<Derived>::Tangent {aka int}’\r\n     e.setZero();\r\n       ^\r\n/usr/local/include/sophus/so3.hpp:424:8: error: invalid types ‘Sophus::SO3GroupBase<Derived>::Tangent {aka int}[int]’ for array subscript\r\n     e[i] = static_cast<Scalar>(1);\r\n        ^\r\n/usr/local/include/sophus/so3.hpp:424:24: error: ‘Scalar’ does not name a type\r\n     e[i] = static_cast<Scalar>(1);\r\n                        ^\r\n/usr/local/include/sophus/so3.hpp: In static member function ‘static void Sophus::SO3GroupBase<Derived>::internalGenerator(int, int*)’:\r\n/usr/local/include/sophus/so3.hpp:439:21: error: request for member ‘coeffs’ in ‘internal_gen_q->’, which is of non-class type ‘int’\r\n     internal_gen_q->coeffs()[i] = static_cast<Scalar>(0.5);\r\n                     ^\r\n/usr/local/include/sophus/so3.hpp:439:47: error: ‘Scalar’ does not name a type\r\n     internal_gen_q->coeffs()[i] = static_cast<Scalar>(0.5);\r\n                                               ^\r\n/usr/local/include/sophus/so3.hpp: In static member function ‘static Sophus::SO3GroupBase<Derived>::Transformation Sophus::SO3GroupBase<Derived>::hat(const Tangent&)’:\r\n/usr/local/include/sophus/so3.hpp:458:26: error: ‘Scalar’ does not name a type\r\n     Omega << static_cast<Scalar>(0), -omega(2), omega(1), omega(2),\r\n                          ^\r\n/usr/local/include/sophus/so3.hpp:458:46: error: expression cannot be used as a function\r\n     Omega << static_cast<Scalar>(0), -omega(2), omega(1), omega(2),\r\n                                              ^\r\n/usr/local/include/sophus/so3.hpp:458:56: error: expression cannot be used as a function\r\n     Omega << static_cast<Scalar>(0), -omega(2), omega(1), omega(2),\r\n                                                        ^\r\n/usr/local/include/sophus/so3.hpp:458:66: error: expression cannot be used as a function\r\n     Omega << static_cast<Scalar>(0), -omega(2), omega(1), omega(2),\r\n                                                                  ^\r\n/usr/local/include/sophus/so3.hpp:459:21: error: ‘Scalar’ does not name a type\r\n         static_cast<Scalar>(0), -omega(0), -omega(1), omega(0),\r\n                     ^\r\n/usr/local/include/sophus/so3.hpp:459:41: error: expression cannot be used as a function\r\n         static_cast<Scalar>(0), -omega(0), -omega(1), omega(0),\r\n                                         ^\r\n/usr/local/include/sophus/so3.hpp:459:52: error: expression cannot be used as a function\r\n         static_cast<Scalar>(0), -omega(0), -omega(1), omega(0),\r\n                                                    ^\r\n/usr/local/include/sophus/so3.hpp:459:62: error: expression cannot be used as a function\r\n         static_cast<Scalar>(0), -omega(0), -omega(1), omega(0),\r\n                                                              ^\r\n/usr/local/include/sophus/so3.hpp:460:21: error: ‘Scalar’ does not name a type\r\n         static_cast<Scalar>(0);\r\n                     ^\r\n/usr/local/include/sophus/so3.hpp: In static member function ‘static Sophus::SO3GroupBase<Derived>::Tangent Sophus::SO3GroupBase<Derived>::lieBracket(const Tangent&, const Tangent&)’:\r\n/usr/local/include/sophus/so3.hpp:487:19: error: request for member ‘cross’ in ‘omega1’, which is of non-class type ‘const Tangent {aka const int}’\r\n     return omega1.cross(omega2);\r\n                   ^\r\n/usr/local/include/sophus/so3.hpp: In static member function ‘static Sophus::SO3GroupBase<Derived>::Tangent Sophus::SO3GroupBase<Derived>::log(const int&)’:\r\n/usr/local/include/sophus/so3.hpp:507:5: error: ‘Scalar’ was not declared in this scope\r\n     Scalar theta;\r\n     ^\r\n/usr/local/include/sophus/so3.hpp:507:5: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:508:32: error: ‘theta’ was not declared in this scope\r\n     return logAndTheta(other, &theta);\r\n                                ^\r\n/usr/local/include/sophus/so3.hpp: In static member function ‘static Sophus::SO3GroupBase<Derived>::Tangent Sophus::SO3GroupBase<Derived>::logAndTheta(const int&, int*)’:\r\n/usr/local/include/sophus/so3.hpp:523:5: error: ‘Scalar’ was not declared in this scope\r\n     Scalar squared_n = other.unit_quaternion().vec().squaredNorm();\r\n     ^\r\n/usr/local/include/sophus/so3.hpp:523:5: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:524:12: error: expected ‘;’ before ‘n’\r\n     Scalar n = sqrt(squared_n);\r\n            ^\r\n/usr/local/include/sophus/so3.hpp:525:12: error: expected ‘;’ before ‘w’\r\n     Scalar w = other.unit_quaternion().w();\r\n            ^\r\n/usr/local/include/sophus/so3.hpp:527:12: error: expected ‘;’ before ‘two_atan_nbyw_by_n’\r\n     Scalar two_atan_nbyw_by_n;\r\n            ^\r\n/usr/local/include/sophus/so3.hpp:536:9: error: ‘n’ was not declared in this scope\r\n     if (n < Constants<Scalar>::epsilon()) {\r\n         ^\r\n/usr/local/include/sophus/so3.hpp:536:29: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Scalar> struct Sophus::Constants’\r\n     if (n < Constants<Scalar>::epsilon()) {\r\n                             ^\r\n/usr/local/include/sophus/so3.hpp:536:29: note:   expected a type, got ‘Scalar’\r\nIn file included from /usr/local/include/sophus/sophus.hpp:28:0,\r\n                 from /usr/local/include/sophus/so3.hpp:29,\r\n                 from /usr/local/include/sophus/se3.hpp:27,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:539:7: error: ‘w’ was not declared in this scope\r\n       SOPHUS_ENSURE(abs(w) >= Constants<Scalar>::epsilon(),\r\n       ^\r\n/usr/local/include/sophus/so3.hpp:539:7: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Scalar> struct Sophus::Constants’\r\n       SOPHUS_ENSURE(abs(w) >= Constants<Scalar>::epsilon(),\r\n       ^\r\n/usr/local/include/sophus/so3.hpp:539:7: note:   expected a type, got ‘Scalar’\r\n/usr/local/include/sophus/so3.hpp:539:7: error: request for member ‘unit_quaternion’ in ‘other’, which is of non-class type ‘const int’\r\n       SOPHUS_ENSURE(abs(w) >= Constants<Scalar>::epsilon(),\r\n       ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:542:14: error: expected ‘;’ before ‘squared_w’\r\n       Scalar squared_w = w * w;\r\n              ^\r\n/usr/local/include/sophus/so3.hpp:543:7: error: ‘two_atan_nbyw_by_n’ was not declared in this scope\r\n       two_atan_nbyw_by_n =\r\n       ^\r\n/usr/local/include/sophus/so3.hpp:544:23: error: ‘Scalar’ does not name a type\r\n           static_cast<Scalar>(2) / w -\r\n                       ^\r\n/usr/local/include/sophus/so3.hpp:545:23: error: ‘Scalar’ does not name a type\r\n           static_cast<Scalar>(2) * (squared_n) / (w * squared_w);\r\n                       ^\r\n/usr/local/include/sophus/so3.hpp:545:37: error: ‘squared_n’ was not declared in this scope\r\n           static_cast<Scalar>(2) * (squared_n) / (w * squared_w);\r\n                                     ^\r\n/usr/local/include/sophus/so3.hpp:545:55: error: ‘squared_w’ was not declared in this scope\r\n           static_cast<Scalar>(2) * (squared_n) / (w * squared_w);\r\n                                                       ^\r\n/usr/local/include/sophus/so3.hpp:547:15: error: ‘w’ was not declared in this scope\r\n       if (abs(w) < Constants<Scalar>::epsilon()) {\r\n               ^\r\n/usr/local/include/sophus/so3.hpp:547:36: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Scalar> struct Sophus::Constants’\r\n       if (abs(w) < Constants<Scalar>::epsilon()) {\r\n                                    ^\r\n/usr/local/include/sophus/so3.hpp:547:36: note:   expected a type, got ‘Scalar’\r\n/usr/local/include/sophus/so3.hpp:548:29: error: ‘Scalar’ does not name a type\r\n         if (w > static_cast<Scalar>(0)) {\r\n                             ^\r\n/usr/local/include/sophus/so3.hpp:549:11: error: ‘two_atan_nbyw_by_n’ was not declared in this scope\r\n           two_atan_nbyw_by_n = Constants<Scalar>::pi() / n;\r\n           ^\r\n/usr/local/include/sophus/so3.hpp:549:48: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Scalar> struct Sophus::Constants’\r\n           two_atan_nbyw_by_n = Constants<Scalar>::pi() / n;\r\n                                                ^\r\n/usr/local/include/sophus/so3.hpp:549:48: note:   expected a type, got ‘Scalar’\r\n/usr/local/include/sophus/so3.hpp:551:11: error: ‘two_atan_nbyw_by_n’ was not declared in this scope\r\n           two_atan_nbyw_by_n = -Constants<Scalar>::pi() / n;\r\n           ^\r\n/usr/local/include/sophus/so3.hpp:551:49: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Scalar> struct Sophus::Constants’\r\n           two_atan_nbyw_by_n = -Constants<Scalar>::pi() / n;\r\n                                                 ^\r\n/usr/local/include/sophus/so3.hpp:551:49: note:   expected a type, got ‘Scalar’\r\n/usr/local/include/sophus/so3.hpp:554:9: error: ‘two_atan_nbyw_by_n’ was not declared in this scope\r\n         two_atan_nbyw_by_n = static_cast<Scalar>(2) * atan(n / w) / n;\r\n         ^\r\n/usr/local/include/sophus/so3.hpp:554:42: error: ‘Scalar’ does not name a type\r\n         two_atan_nbyw_by_n = static_cast<Scalar>(2) * atan(n / w) / n;\r\n                                          ^\r\n/usr/local/include/sophus/so3.hpp:558:14: error: ‘two_atan_nbyw_by_n’ was not declared in this scope\r\n     *theta = two_atan_nbyw_by_n * n;\r\n              ^\r\n/usr/local/include/sophus/so3.hpp:558:35: error: ‘n’ was not declared in this scope\r\n     *theta = two_atan_nbyw_by_n * n;\r\n                                   ^\r\n/usr/local/include/sophus/so3.hpp:560:39: error: request for member ‘unit_quaternion’ in ‘other’, which is of non-class type ‘const int’\r\n     return two_atan_nbyw_by_n * other.unit_quaternion().vec();\r\n                                       ^\r\n/usr/local/include/sophus/so3.hpp: In static member function ‘static Sophus::SO3GroupBase<Derived>::Tangent Sophus::SO3GroupBase<Derived>::vee(const Transformation&)’:\r\n/usr/local/include/sophus/so3.hpp:575:24: error: ‘Scalar’ does not name a type\r\n     return static_cast<Scalar>(0.5) * Tangent(Omega(2, 1) - Omega(1, 2),\r\n                        ^\r\n/usr/local/include/sophus/so3.hpp:575:57: error: expression cannot be used as a function\r\n     return static_cast<Scalar>(0.5) * Tangent(Omega(2, 1) - Omega(1, 2),\r\n                                                         ^\r\n/usr/local/include/sophus/so3.hpp:575:71: error: expression cannot be used as a function\r\n     return static_cast<Scalar>(0.5) * Tangent(Omega(2, 1) - Omega(1, 2),\r\n                                                                       ^\r\n/usr/local/include/sophus/so3.hpp:576:57: error: expression cannot be used as a function\r\n                                               Omega(0, 2) - Omega(2, 0),\r\n                                                         ^\r\n/usr/local/include/sophus/so3.hpp:576:71: error: expression cannot be used as a function\r\n                                               Omega(0, 2) - Omega(2, 0),\r\n                                                                       ^\r\n/usr/local/include/sophus/so3.hpp:577:57: error: expression cannot be used as a function\r\n                                               Omega(1, 0) - Omega(0, 1));\r\n                                                         ^\r\n/usr/local/include/sophus/so3.hpp:577:71: error: expression cannot be used as a function\r\n                                               Omega(1, 0) - Omega(0, 1));\r\n                                                                       ^\r\n/usr/local/include/sophus/so3.hpp: At global scope:\r\n/usr/local/include/sophus/so3.hpp:592:64: error: template argument 2 is invalid\r\n class SO3Group : public SO3GroupBase<SO3Group<_Scalar, _Options>> {\r\n                                                                ^\r\n/usr/local/include/sophus/so3.hpp:592:38: error: template argument 1 is invalid\r\n class SO3Group : public SO3GroupBase<SO3Group<_Scalar, _Options>> {\r\n                                      ^\r\n/usr/local/include/sophus/so3.hpp:593:53: error: ‘Base’ was not declared in this scope\r\n   typedef SO3GroupBase<SO3Group<_Scalar, _Options>> Base;\r\n                                                     ^\r\n/usr/local/include/sophus/so3.hpp:593:53: error: template argument 2 is invalid\r\n/usr/local/include/sophus/so3.hpp:593:24: error: template argument 1 is invalid\r\n   typedef SO3GroupBase<SO3Group<_Scalar, _Options>> Base;\r\n                        ^\r\n/usr/local/include/sophus/so3.hpp:597:72: error: ‘::Scalar’ has not been declared\r\n   typedef typename Eigen::internal::traits<SO3Group<_Scalar, _Options>>::Scalar\r\n                                                                        ^\r\n/usr/local/include/sophus/so3.hpp:597:72: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:598:7: error: template argument 2 is invalid\r\n       Scalar;\r\n       ^\r\n/usr/local/include/sophus/so3.hpp:597:44: error: template argument 1 is invalid\r\n   typedef typename Eigen::internal::traits<SO3Group<_Scalar, _Options>>::Scalar\r\n                                            ^\r\n/usr/local/include/sophus/so3.hpp:598:13: error: expected identifier before ‘;’ token\r\n       Scalar;\r\n             ^\r\n/usr/local/include/sophus/so3.hpp:601:35: error: ‘::QuaternionType’ has not been declared\r\n       SO3Group<_Scalar, _Options>>::QuaternionType& QuaternionReference;\r\n                                   ^\r\n/usr/local/include/sophus/so3.hpp:601:53: error: ‘QuaternionReference’ was not declared in this scope\r\n       SO3Group<_Scalar, _Options>>::QuaternionType& QuaternionReference;\r\n                                                     ^\r\n/usr/local/include/sophus/so3.hpp:601:53: error: template argument 2 is invalid\r\n/usr/local/include/sophus/so3.hpp:601:7: error: template argument 1 is invalid\r\n       SO3Group<_Scalar, _Options>>::QuaternionType& QuaternionReference;\r\n       ^\r\n/usr/local/include/sophus/so3.hpp:601:72: error: expected identifier before ‘;’ token\r\n       SO3Group<_Scalar, _Options>>::QuaternionType& QuaternionReference;\r\n                                                                        ^\r\n/usr/local/include/sophus/so3.hpp:603:35: error: ‘::QuaternionType’ has not been declared\r\n       SO3Group<_Scalar, _Options>>::QuaternionType& ConstQuaternionReference;\r\n                                   ^\r\n/usr/local/include/sophus/so3.hpp:603:53: error: ‘ConstQuaternionReference’ was not declared in this scope\r\n       SO3Group<_Scalar, _Options>>::QuaternionType& ConstQuaternionReference;\r\n                                                     ^\r\n/usr/local/include/sophus/so3.hpp:603:53: error: template argument 2 is invalid\r\n/usr/local/include/sophus/so3.hpp:603:7: error: template argument 1 is invalid\r\n       SO3Group<_Scalar, _Options>>::QuaternionType& ConstQuaternionReference;\r\n       ^\r\n/usr/local/include/sophus/so3.hpp:603:77: error: expected identifier before ‘;’ token\r\n       SO3Group<_Scalar, _Options>>::QuaternionType& ConstQuaternionReference;\r\n                                                                             ^\r\n/usr/local/include/sophus/so3.hpp:603:77: error: qualifiers can only be specified for objects and functions\r\n/usr/local/include/sophus/so3.hpp:606:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Transformation Transformation;\r\n                    ^\r\n/usr/local/include/sophus/so3.hpp:608:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Point Point;\r\n                    ^\r\n/usr/local/include/sophus/so3.hpp:610:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Tangent Tangent;\r\n                    ^\r\n/usr/local/include/sophus/so3.hpp:612:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Adjoint Adjoint;\r\n                    ^\r\n/usr/local/include/sophus/so3.hpp:615:55: error: template argument 2 is invalid\r\n   friend class SO3GroupBase<SO3Group<_Scalar, _Options>>;\r\n                                                       ^\r\n/usr/local/include/sophus/so3.hpp:615:29: error: template argument 1 is invalid\r\n   friend class SO3GroupBase<SO3Group<_Scalar, _Options>>;\r\n                             ^\r\n/usr/local/include/sophus/so3.hpp:615:3: error: friend declaration does not name a class or function\r\n   friend class SO3GroupBase<SO3Group<_Scalar, _Options>>;\r\n   ^\r\n/usr/local/include/sophus/so3.hpp:647:57: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC explicit SO3Group(const Eigen::Quaternion<Scalar>& quat)\r\n                                                         ^\r\n/usr/local/include/sophus/so3.hpp:647:57: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:647:63: error: template argument 1 is invalid\r\n   SOPHUS_FUNC explicit SO3Group(const Eigen::Quaternion<Scalar>& quat)\r\n                                                               ^\r\n/usr/local/include/sophus/so3.hpp:647:24: error: ‘Sophus::SO3Group<_Scalar, _Options>::SO3Group(const int&)’ cannot be overloaded\r\n   SOPHUS_FUNC explicit SO3Group(const Eigen::Quaternion<Scalar>& quat)\r\n                        ^\r\n/usr/local/include/sophus/so3.hpp:640:15: error: with ‘Sophus::SO3Group<_Scalar, _Options>::SO3Group(const Transformation&)’\r\n   SOPHUS_FUNC SO3Group(const Transformation& R) : unit_quaternion_(R) {}\r\n               ^\r\n/usr/local/include/sophus/so3.hpp:667:19: error: expected ‘)’ before ‘alpha1’\r\n   SO3Group(Scalar alpha1, Scalar alpha2, Scalar alpha3) {\r\n                   ^\r\n/usr/local/include/sophus/so3.hpp:680:15: error: ‘ConstQuaternionReference’ does not name a type\r\n   SOPHUS_FUNC ConstQuaternionReference unit_quaternion() const {\r\n               ^\r\n/usr/local/include/sophus/so3.hpp:687:15: error: ‘QuaternionReference’ does not name a type\r\n   SOPHUS_FUNC QuaternionReference unit_quaternion_nonconst() {\r\n               ^\r\n/usr/local/include/sophus/so3.hpp:691:21: error: ‘Scalar’ was not declared in this scope\r\n   Eigen::Quaternion<Scalar> unit_quaternion_;\r\n                     ^\r\n/usr/local/include/sophus/so3.hpp:691:21: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:691:27: error: template argument 1 is invalid\r\n   Eigen::Quaternion<Scalar> unit_quaternion_;\r\n                           ^\r\n/usr/local/include/sophus/so3.hpp: In constructor ‘Sophus::SO3Group<_Scalar, _Options>::SO3Group()’:\r\n/usr/local/include/sophus/so3.hpp:625:38: error: ‘Scalar’ does not name a type\r\n       : unit_quaternion_(static_cast<Scalar>(1), static_cast<Scalar>(0),\r\n                                      ^\r\n/usr/local/include/sophus/so3.hpp:625:62: error: ‘Scalar’ does not name a type\r\n       : unit_quaternion_(static_cast<Scalar>(1), static_cast<Scalar>(0),\r\n                                                              ^\r\n/usr/local/include/sophus/so3.hpp:626:38: error: ‘Scalar’ does not name a type\r\n                          static_cast<Scalar>(0), static_cast<Scalar>(0)) {}\r\n                                      ^\r\n/usr/local/include/sophus/so3.hpp:626:62: error: ‘Scalar’ does not name a type\r\n                          static_cast<Scalar>(0), static_cast<Scalar>(0)) {}\r\n                                                              ^\r\n/usr/local/include/sophus/so3.hpp: In constructor ‘Sophus::SO3Group<_Scalar, _Options>::SO3Group(const int&)’:\r\n/usr/local/include/sophus/so3.hpp:649:5: error: ‘Base’ has not been declared\r\n     Base::normalize();\r\n     ^\r\n/usr/local/include/sophus/so3.hpp: At global scope:\r\n/usr/local/include/sophus/so3.hpp:705:74: error: template argument 2 is invalid\r\n     : public Sophus::SO3GroupBase<Map<Sophus::SO3Group<_Scalar>, _Options>> {\r\n                                                                          ^\r\n/usr/local/include/sophus/so3.hpp:705:35: error: template argument 1 is invalid\r\n     : public Sophus::SO3GroupBase<Map<Sophus::SO3Group<_Scalar>, _Options>> {\r\n                                   ^\r\n/usr/local/include/sophus/so3.hpp:706:74: error: ‘Base’ was not declared in this scope\r\n   typedef Sophus::SO3GroupBase<Map<Sophus::SO3Group<_Scalar>, _Options>> Base;\r\n                                                                          ^\r\n/usr/local/include/sophus/so3.hpp:706:74: error: template argument 2 is invalid\r\n/usr/local/include/sophus/so3.hpp:706:32: error: template argument 1 is invalid\r\n   typedef Sophus::SO3GroupBase<Map<Sophus::SO3Group<_Scalar>, _Options>> Base;\r\n                                ^\r\n/usr/local/include/sophus/so3.hpp:719:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Transformation Transformation;\r\n                    ^\r\n/usr/local/include/sophus/so3.hpp:721:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Point Point;\r\n                    ^\r\n/usr/local/include/sophus/so3.hpp:723:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Tangent Tangent;\r\n                    ^\r\n/usr/local/include/sophus/so3.hpp:725:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Adjoint Adjoint;\r\n                    ^\r\n/usr/local/include/sophus/so3.hpp:728:76: error: template argument 2 is invalid\r\n   friend class Sophus::SO3GroupBase<Map<Sophus::SO3Group<_Scalar>, _Options>>;\r\n                                                                            ^\r\n/usr/local/include/sophus/so3.hpp:728:37: error: template argument 1 is invalid\r\n   friend class Sophus::SO3GroupBase<Map<Sophus::SO3Group<_Scalar>, _Options>>;\r\n                                     ^\r\n/usr/local/include/sophus/so3.hpp:728:3: error: friend declaration does not name a class or function\r\n   friend class Sophus::SO3GroupBase<Map<Sophus::SO3Group<_Scalar>, _Options>>;\r\n   ^\r\nIn file included from /usr/include/eigen3/Eigen/Core:62:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:25,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/usr/include/eigen3/Eigen/src/Core/util/Macros.h:754:11: error: ‘Base’ has not been declared\r\n     using Base::operator =; \\\r\n           ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:731:9: error: ‘Base’ has not been declared\r\n   using Base::operator*=;\r\n         ^\r\n/usr/local/include/sophus/so3.hpp:732:9: error: ‘Base’ has not been declared\r\n   using Base::operator*;\r\n         ^\r\nIn file included from /usr/include/eigen3/Eigen/Core:62:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:25,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/usr/local/include/sophus/so3.hpp: In member function ‘Eigen::Map<Sophus::SO3Group<_Scalar>, _Options>& Eigen::Map<Sophus::SO3Group<_Scalar>, _Options>::operator=(const Eigen::Map<Sophus::SO3Group<_Scalar>, _Options>&)’:\r\n/usr/include/eigen3/Eigen/src/Core/util/Macros.h:757:7: error: ‘Base’ has not been declared\r\n       Base::operator=(other); \\\r\n       ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp: At global scope:\r\n/usr/local/include/sophus/so3.hpp:764:56: error: template argument 2 is invalid\r\n           Map<const Sophus::SO3Group<_Scalar>, _Options>> {\r\n                                                        ^\r\n/usr/local/include/sophus/so3.hpp:764:11: error: template argument 1 is invalid\r\n           Map<const Sophus::SO3Group<_Scalar>, _Options>> {\r\n           ^\r\n/usr/local/include/sophus/so3.hpp:766:7: error: ‘Base’ was not declared in this scope\r\n       Base;\r\n       ^\r\n/usr/local/include/sophus/so3.hpp:766:7: error: template argument 2 is invalid\r\n/usr/local/include/sophus/so3.hpp:765:32: error: template argument 1 is invalid\r\n   typedef Sophus::SO3GroupBase<Map<const Sophus::SO3Group<_Scalar>, _Options>>\r\n                                ^\r\n/usr/local/include/sophus/so3.hpp:776:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Transformation Transformation;\r\n                    ^\r\n/usr/local/include/sophus/so3.hpp:778:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Point Point;\r\n                    ^\r\n/usr/local/include/sophus/so3.hpp:780:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Tangent Tangent;\r\n                    ^\r\n/usr/local/include/sophus/so3.hpp:782:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Adjoint Adjoint;\r\n                    ^\r\nIn file included from /usr/include/eigen3/Eigen/Core:62:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:25,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/usr/include/eigen3/Eigen/src/Core/util/Macros.h:754:11: error: ‘Base’ has not been declared\r\n     using Base::operator =; \\\r\n           ^\r\nIn file included from /usr/local/include/sophus/se3.hpp:27:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:\r\n/usr/local/include/sophus/so3.hpp:785:9: error: ‘Base’ has not been declared\r\n   using Base::operator*=;\r\n         ^\r\n/usr/local/include/sophus/so3.hpp:786:9: error: ‘Base’ has not been declared\r\n   using Base::operator*;\r\n         ^\r\nIn file included from /usr/include/eigen3/Eigen/Core:62:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:25,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/usr/local/include/sophus/so3.hpp: In member function ‘Eigen::Map<const Sophus::SO3Group<_Scalar>, _Options>& Eigen::Map<const Sophus::SO3Group<_Scalar>, _Options>::operator=(const Eigen::Map<const Sophus::SO3Group<_Scalar>, _Options>&)’:\r\n/usr/include/eigen3/Eigen/src/Core/util/Macros.h:757:7: error: ‘Base’ has not been declared\r\n       Base::operator=(other); \\\r\n       ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp: At global scope:\r\n/usr/local/include/sophus/se3.hpp:52:49: error: template argument 2 is invalid\r\n struct traits<Sophus::SE3Group<_Scalar, _Options>> {\r\n                                                 ^\r\n/usr/local/include/sophus/se3.hpp:52:23: error: template argument 1 is invalid\r\n struct traits<Sophus::SE3Group<_Scalar, _Options>> {\r\n                       ^\r\n/usr/local/include/sophus/se3.hpp:60:48: error: template argument 2 is invalid\r\n     : traits<Sophus::SE3Group<_Scalar, _Options>> {\r\n                                                ^\r\n/usr/local/include/sophus/se3.hpp:59:15: error: template argument 1 is invalid\r\n struct traits<Map<Sophus::SE3Group<_Scalar>, _Options>>\r\n               ^\r\n/usr/local/include/sophus/se3.hpp:68:54: error: template argument 2 is invalid\r\n     : traits<const Sophus::SE3Group<_Scalar, _Options>> {\r\n                                                      ^\r\n/usr/local/include/sophus/se3.hpp:67:15: error: template argument 1 is invalid\r\n struct traits<Map<const Sophus::SE3Group<_Scalar>, _Options>>\r\n               ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:641:64: error: template argument 2 is invalid\r\n class SE3Group : public SE3GroupBase<SE3Group<_Scalar, _Options>> {\r\n                                                                ^\r\n/usr/local/include/sophus/se3.hpp:641:38: error: template argument 1 is invalid\r\n class SE3Group : public SE3GroupBase<SE3Group<_Scalar, _Options>> {\r\n                                      ^\r\n/usr/local/include/sophus/se3.hpp:642:53: error: ‘Base’ was not declared in this scope\r\n   typedef SE3GroupBase<SE3Group<_Scalar, _Options>> Base;\r\n                                                     ^\r\n/usr/local/include/sophus/se3.hpp:642:53: error: template argument 2 is invalid\r\n/usr/local/include/sophus/se3.hpp:642:24: error: template argument 1 is invalid\r\n   typedef SE3GroupBase<SE3Group<_Scalar, _Options>> Base;\r\n                        ^\r\n/usr/local/include/sophus/se3.hpp:646:72: error: ‘::Scalar’ has not been declared\r\n   typedef typename Eigen::internal::traits<SE3Group<_Scalar, _Options>>::Scalar\r\n                                                                        ^\r\n/usr/local/include/sophus/se3.hpp:646:72: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:647:7: error: template argument 2 is invalid\r\n       Scalar;\r\n       ^\r\n/usr/local/include/sophus/se3.hpp:646:44: error: template argument 1 is invalid\r\n   typedef typename Eigen::internal::traits<SE3Group<_Scalar, _Options>>::Scalar\r\n                                            ^\r\n/usr/local/include/sophus/se3.hpp:647:13: error: expected identifier before ‘;’ token\r\n       Scalar;\r\n             ^\r\n/usr/local/include/sophus/se3.hpp:650:68: error: ‘::SO3Type’ has not been declared\r\n       typename Eigen::internal::traits<SE3Group<_Scalar, _Options>>::SO3Type&\r\n                                                                    ^\r\n/usr/local/include/sophus/se3.hpp:651:11: error: ‘SO3Reference’ was not declared in this scope\r\n           SO3Reference;\r\n           ^\r\n/usr/local/include/sophus/se3.hpp:651:11: error: template argument 2 is invalid\r\n/usr/local/include/sophus/se3.hpp:650:40: error: template argument 1 is invalid\r\n       typename Eigen::internal::traits<SE3Group<_Scalar, _Options>>::SO3Type&\r\n                                        ^\r\n/usr/local/include/sophus/se3.hpp:651:23: error: expected identifier before ‘;’ token\r\n           SO3Reference;\r\n                       ^\r\n/usr/local/include/sophus/se3.hpp:654:35: error: ‘::SO3Type’ has not been declared\r\n       SE3Group<_Scalar, _Options>>::SO3Type& ConstSO3Reference;\r\n                                   ^\r\n/usr/local/include/sophus/se3.hpp:654:46: error: ‘ConstSO3Reference’ was not declared in this scope\r\n       SE3Group<_Scalar, _Options>>::SO3Type& ConstSO3Reference;\r\n                                              ^\r\n/usr/local/include/sophus/se3.hpp:654:46: error: template argument 2 is invalid\r\n/usr/local/include/sophus/se3.hpp:654:7: error: template argument 1 is invalid\r\n       SE3Group<_Scalar, _Options>>::SO3Type& ConstSO3Reference;\r\n       ^\r\n/usr/local/include/sophus/se3.hpp:654:63: error: expected identifier before ‘;’ token\r\n       SE3Group<_Scalar, _Options>>::SO3Type& ConstSO3Reference;\r\n                                                               ^\r\n/usr/local/include/sophus/se3.hpp:654:63: error: qualifiers can only be specified for objects and functions\r\n/usr/local/include/sophus/se3.hpp:657:35: error: ‘::TranslationType’ has not been declared\r\n       SE3Group<_Scalar, _Options>>::TranslationType& TranslationReference;\r\n                                   ^\r\n/usr/local/include/sophus/se3.hpp:657:54: error: ‘TranslationReference’ was not declared in this scope\r\n       SE3Group<_Scalar, _Options>>::TranslationType& TranslationReference;\r\n                                                      ^\r\n/usr/local/include/sophus/se3.hpp:657:54: error: template argument 2 is invalid\r\n/usr/local/include/sophus/se3.hpp:657:7: error: template argument 1 is invalid\r\n       SE3Group<_Scalar, _Options>>::TranslationType& TranslationReference;\r\n       ^\r\n/usr/local/include/sophus/se3.hpp:657:74: error: expected identifier before ‘;’ token\r\n       SE3Group<_Scalar, _Options>>::TranslationType& TranslationReference;\r\n                                                                          ^\r\n/usr/local/include/sophus/se3.hpp:660:35: error: ‘::TranslationType’ has not been declared\r\n       SE3Group<_Scalar, _Options>>::TranslationType& ConstTranslationReference;\r\n                                   ^\r\n/usr/local/include/sophus/se3.hpp:660:54: error: ‘ConstTranslationReference’ was not declared in this scope\r\n       SE3Group<_Scalar, _Options>>::TranslationType& ConstTranslationReference;\r\n                                                      ^\r\n/usr/local/include/sophus/se3.hpp:660:54: error: template argument 2 is invalid\r\n/usr/local/include/sophus/se3.hpp:660:7: error: template argument 1 is invalid\r\n       SE3Group<_Scalar, _Options>>::TranslationType& ConstTranslationReference;\r\n       ^\r\n/usr/local/include/sophus/se3.hpp:660:79: error: expected identifier before ‘;’ token\r\n       SE3Group<_Scalar, _Options>>::TranslationType& ConstTranslationReference;\r\n                                                                               ^\r\n/usr/local/include/sophus/se3.hpp:660:79: error: qualifiers can only be specified for objects and functions\r\n/usr/local/include/sophus/se3.hpp:663:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Transformation Transformation;\r\n                    ^\r\n/usr/local/include/sophus/se3.hpp:665:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Point Point;\r\n                    ^\r\n/usr/local/include/sophus/se3.hpp:667:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Tangent Tangent;\r\n                    ^\r\n/usr/local/include/sophus/se3.hpp:669:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Adjoint Adjoint;\r\n                    ^\r\n/usr/local/include/sophus/se3.hpp:701:32: error: ‘Scalar’ was not declared in this scope\r\n   SE3Group(const Eigen::Matrix<Scalar, 3, 3>& rotation_matrix,\r\n                                ^\r\n/usr/local/include/sophus/se3.hpp:701:32: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:701:44: error: template argument 1 is invalid\r\n   SE3Group(const Eigen::Matrix<Scalar, 3, 3>& rotation_matrix,\r\n                                            ^\r\n/usr/local/include/sophus/se3.hpp:710:48: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC SE3Group(const Eigen::Quaternion<Scalar>& quaternion,\r\n                                                ^\r\n/usr/local/include/sophus/se3.hpp:710:48: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:710:54: error: template argument 1 is invalid\r\n   SOPHUS_FUNC SE3Group(const Eigen::Quaternion<Scalar>& quaternion,\r\n                                                      ^\r\n/usr/local/include/sophus/se3.hpp:710:15: error: ‘Sophus::SE3Group<_Scalar, _Options>::SE3Group(const int&, const Point&)’ cannot be overloaded\r\n   SOPHUS_FUNC SE3Group(const Eigen::Quaternion<Scalar>& quaternion,\r\n               ^\r\n/usr/local/include/sophus/se3.hpp:701:3: error: with ‘Sophus::SE3Group<_Scalar, _Options>::SE3Group(const int&, const Point&)’\r\n   SE3Group(const Eigen::Matrix<Scalar, 3, 3>& rotation_matrix,\r\n   ^\r\n/usr/local/include/sophus/se3.hpp:719:53: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC explicit SE3Group(const Eigen::Matrix<Scalar, 4, 4>& T)\r\n                                                     ^\r\n/usr/local/include/sophus/se3.hpp:719:53: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:719:65: error: template argument 1 is invalid\r\n   SOPHUS_FUNC explicit SE3Group(const Eigen::Matrix<Scalar, 4, 4>& T)\r\n                                                                 ^\r\n/usr/local/include/sophus/se3.hpp:729:30: error: ‘Scalar’ was not declared in this scope\r\n       const Eigen::Transform<Scalar, 3, Eigen::Affine>& affine3)\r\n                              ^\r\n/usr/local/include/sophus/se3.hpp:729:30: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:729:54: error: template argument 1 is invalid\r\n       const Eigen::Transform<Scalar, 3, Eigen::Affine>& affine3)\r\n                                                      ^\r\n/usr/local/include/sophus/se3.hpp:728:24: error: ‘Sophus::SE3Group<_Scalar, _Options>::SE3Group(const int&)’ cannot be overloaded\r\n   SOPHUS_FUNC explicit SE3Group(\r\n                        ^\r\n/usr/local/include/sophus/se3.hpp:719:24: error: with ‘Sophus::SE3Group<_Scalar, _Options>::SE3Group(const int&)’\r\n   SOPHUS_FUNC explicit SE3Group(const Eigen::Matrix<Scalar, 4, 4>& T)\r\n                        ^\r\n/usr/local/include/sophus/se3.hpp:746:15: error: ‘Scalar’ does not name a type\r\n   SOPHUS_FUNC Scalar* data() {\r\n               ^\r\n/usr/local/include/sophus/se3.hpp:756:21: error: ‘Scalar’ does not name a type\r\n   SOPHUS_FUNC const Scalar* data() const {\r\n                     ^\r\n/usr/local/include/sophus/se3.hpp:764:15: error: ‘SO3Reference’ does not name a type\r\n   SOPHUS_FUNC SO3Reference so3() { return so3_; }\r\n               ^\r\n/usr/local/include/sophus/se3.hpp:769:15: error: ‘ConstSO3Reference’ does not name a type\r\n   SOPHUS_FUNC ConstSO3Reference so3() const { return so3_; }\r\n               ^\r\n/usr/local/include/sophus/se3.hpp:774:15: error: ‘TranslationReference’ does not name a type\r\n   SOPHUS_FUNC TranslationReference translation() { return translation_; }\r\n               ^\r\n/usr/local/include/sophus/se3.hpp:779:15: error: ‘ConstTranslationReference’ does not name a type\r\n   SOPHUS_FUNC ConstTranslationReference translation() const {\r\n               ^\r\n/usr/local/include/sophus/se3.hpp:784:20: error: ‘Scalar’ was not declared in this scope\r\n   Sophus::SO3Group<Scalar> so3_;\r\n                    ^\r\n/usr/local/include/sophus/se3.hpp:784:20: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:784:26: error: template argument 1 is invalid\r\n   Sophus::SO3Group<Scalar> so3_;\r\n                          ^\r\n/usr/local/include/sophus/se3.hpp:785:17: error: ‘Scalar’ was not declared in this scope\r\n   Eigen::Matrix<Scalar, 3, 1> translation_;\r\n                 ^\r\n/usr/local/include/sophus/se3.hpp:785:17: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:785:29: error: template argument 1 is invalid\r\n   Eigen::Matrix<Scalar, 3, 1> translation_;\r\n                             ^\r\n/usr/local/include/sophus/se3.hpp: In constructor ‘Sophus::SE3Group<_Scalar, _Options>::SE3Group()’:\r\n/usr/local/include/sophus/se3.hpp:678:55: error: ‘Scalar’ was not declared in this scope\r\n   SOPHUS_FUNC SE3Group() : translation_(Eigen::Matrix<Scalar, 3, 1>::Zero()) {}\r\n                                                       ^\r\n/usr/local/include/sophus/se3.hpp:678:55: note: suggested alternative:\r\nIn file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0,\r\n                 from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:24,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note:   ‘cv::Scalar’\r\n typedef Scalar_<double> Scalar;\r\n                         ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:678:67: error: template argument 1 is invalid\r\n   SOPHUS_FUNC SE3Group() : translation_(Eigen::Matrix<Scalar, 3, 1>::Zero()) {}\r\n                                                                   ^\r\n/usr/local/include/sophus/se3.hpp: In constructor ‘Sophus::SE3Group<_Scalar, _Options>::SE3Group(const int&)’:\r\n/usr/local/include/sophus/se3.hpp:730:22: error: request for member ‘matrix’ in ‘affine3’, which is of non-class type ‘const int’\r\n       : so3_(affine3.matrix().template topLeftCorner<3, 3>()),\r\n                      ^\r\n/usr/local/include/sophus/se3.hpp:731:30: error: request for member ‘matrix’ in ‘affine3’, which is of non-class type ‘const int’\r\n         translation_(affine3.matrix().template block<3, 1>(0, 3)) {}\r\n                              ^\r\n/usr/local/include/sophus/se3.hpp: At global scope:\r\n/usr/local/include/sophus/se3.hpp:799:74: error: template argument 2 is invalid\r\n     : public Sophus::SE3GroupBase<Map<Sophus::SE3Group<_Scalar>, _Options>> {\r\n                                                                          ^\r\n/usr/local/include/sophus/se3.hpp:799:35: error: template argument 1 is invalid\r\n     : public Sophus::SE3GroupBase<Map<Sophus::SE3Group<_Scalar>, _Options>> {\r\n                                   ^\r\n/usr/local/include/sophus/se3.hpp:800:74: error: ‘Base’ was not declared in this scope\r\n   typedef Sophus::SE3GroupBase<Map<Sophus::SE3Group<_Scalar>, _Options>> Base;\r\n                                                                          ^\r\n/usr/local/include/sophus/se3.hpp:800:74: error: template argument 2 is invalid\r\n/usr/local/include/sophus/se3.hpp:800:32: error: template argument 1 is invalid\r\n   typedef Sophus::SE3GroupBase<Map<Sophus::SE3Group<_Scalar>, _Options>> Base;\r\n                                ^\r\n/usr/local/include/sophus/se3.hpp:818:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Transformation Transformation;\r\n                    ^\r\n/usr/local/include/sophus/se3.hpp:820:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Point Point;\r\n                    ^\r\n/usr/local/include/sophus/se3.hpp:822:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Tangent Tangent;\r\n                    ^\r\n/usr/local/include/sophus/se3.hpp:824:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Adjoint Adjoint;\r\n                    ^\r\nIn file included from /usr/include/eigen3/Eigen/Core:62:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:25,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/usr/include/eigen3/Eigen/src/Core/util/Macros.h:754:11: error: ‘Base’ has not been declared\r\n     using Base::operator =; \\\r\n           ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:827:9: error: ‘Base’ has not been declared\r\n   using Base::operator*=;\r\n         ^\r\n/usr/local/include/sophus/se3.hpp:828:9: error: ‘Base’ has not been declared\r\n   using Base::operator*;\r\n         ^\r\nIn file included from /usr/include/eigen3/Eigen/Core:62:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:25,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/usr/local/include/sophus/se3.hpp: In member function ‘Eigen::Map<Sophus::SE3Group<_Scalar>, _Options>& Eigen::Map<Sophus::SE3Group<_Scalar>, _Options>::operator=(const Eigen::Map<Sophus::SE3Group<_Scalar>, _Options>&)’:\r\n/usr/include/eigen3/Eigen/src/Core/util/Macros.h:757:7: error: ‘Base’ has not been declared\r\n       Base::operator=(other); \\\r\n       ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp: At global scope:\r\n/usr/local/include/sophus/se3.hpp:870:56: error: template argument 2 is invalid\r\n           Map<const Sophus::SE3Group<_Scalar>, _Options>> {\r\n                                                        ^\r\n/usr/local/include/sophus/se3.hpp:870:11: error: template argument 1 is invalid\r\n           Map<const Sophus::SE3Group<_Scalar>, _Options>> {\r\n           ^\r\n/usr/local/include/sophus/se3.hpp:872:7: error: ‘Base’ was not declared in this scope\r\n       Base;\r\n       ^\r\n/usr/local/include/sophus/se3.hpp:872:7: error: template argument 2 is invalid\r\n/usr/local/include/sophus/se3.hpp:871:32: error: template argument 1 is invalid\r\n   typedef Sophus::SE3GroupBase<Map<const Sophus::SE3Group<_Scalar>, _Options>>\r\n                                ^\r\n/usr/local/include/sophus/se3.hpp:885:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Transformation Transformation;\r\n                    ^\r\n/usr/local/include/sophus/se3.hpp:887:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Point Point;\r\n                    ^\r\n/usr/local/include/sophus/se3.hpp:889:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Tangent Tangent;\r\n                    ^\r\n/usr/local/include/sophus/se3.hpp:891:20: error: ‘Base’ has not been declared\r\n   typedef typename Base::Adjoint Adjoint;\r\n                    ^\r\nIn file included from /usr/include/eigen3/Eigen/Core:62:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:25,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/usr/include/eigen3/Eigen/src/Core/util/Macros.h:754:11: error: ‘Base’ has not been declared\r\n     using Base::operator =; \\\r\n           ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:894:9: error: ‘Base’ has not been declared\r\n   using Base::operator*=;\r\n         ^\r\n/usr/local/include/sophus/se3.hpp:895:9: error: ‘Base’ has not been declared\r\n   using Base::operator*;\r\n         ^\r\nIn file included from /usr/include/eigen3/Eigen/Core:62:0,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/include/dvo/dense_tracking.h:25,\r\n                 from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:23:\r\n/usr/local/include/sophus/se3.hpp: In member function ‘Eigen::Map<const Sophus::SE3Group<_Scalar>, _Options>& Eigen::Map<const Sophus::SE3Group<_Scalar>, _Options>::operator=(const Eigen::Map<const Sophus::SE3Group<_Scalar>, _Options>&)’:\r\n/usr/include/eigen3/Eigen/src/Core/util/Macros.h:757:7: error: ‘Base’ has not been declared\r\n       Base::operator=(other); \\\r\n       ^\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp: In member function ‘bool dvo::DenseTracker::match(dvo::core::PointSelection&, dvo::core::RgbdImagePyramid&, dvo::DenseTracker::Result&)’:\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:147:89: error: no matching function for call to ‘Sophus::SE3Group<double>::SE3Group(const LinearMatrixType, Eigen::Transform<double, 3, 2>::TranslationPart)’\r\n   Sophus::SE3d inc(result.Transformation.rotation(), result.Transformation.translation());\r\n                                                                                         ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:719:24: note: candidate: Sophus::SE3Group<_Scalar, _Options>::SE3Group(const int&) [with _Scalar = double; int _Options = 0]\r\n   SOPHUS_FUNC explicit SE3Group(const Eigen::Matrix<Scalar, 4, 4>& T)\r\n                        ^\r\n/usr/local/include/sophus/se3.hpp:719:24: note:   candidate expects 1 argument, 2 provided\r\n/usr/local/include/sophus/se3.hpp:701:3: note: candidate: Sophus::SE3Group<_Scalar, _Options>::SE3Group(const int&, const Point&) [with _Scalar = double; int _Options = 0; Sophus::SE3Group<_Scalar, _Options>::Point = int]\r\n   SE3Group(const Eigen::Matrix<Scalar, 3, 3>& rotation_matrix,\r\n   ^\r\n/usr/local/include/sophus/se3.hpp:701:3: note:   no known conversion for argument 1 from ‘const LinearMatrixType {aka const Eigen::Matrix<double, 3, 3>}’ to ‘const int&’\r\n/usr/local/include/sophus/se3.hpp:691:15: note: candidate: template<class OtherDerived> Sophus::SE3Group<_Scalar, _Options>::SE3Group(const Sophus::SO3GroupBase<OtherDerived>&, const Point&)\r\n   SOPHUS_FUNC SE3Group(const SO3GroupBase<OtherDerived>& so3,\r\n               ^\r\n/usr/local/include/sophus/se3.hpp:691:15: note:   template argument deduction/substitution failed:\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:147:89: note:   ‘const LinearMatrixType {aka const Eigen::Matrix<double, 3, 3>}’ is not derived from ‘const Sophus::SO3GroupBase<OtherDerived>’\r\n   Sophus::SE3d inc(result.Transformation.rotation(), result.Transformation.translation());\r\n                                                                                         ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:684:15: note: candidate: template<class OtherDerived> Sophus::SE3Group<_Scalar, _Options>::SE3Group(const Sophus::SE3GroupBase<OtherDerived>&)\r\n   SOPHUS_FUNC SE3Group(const SE3GroupBase<OtherDerived>& other)\r\n               ^\r\n/usr/local/include/sophus/se3.hpp:684:15: note:   template argument deduction/substitution failed:\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:147:89: note:   ‘const LinearMatrixType {aka const Eigen::Matrix<double, 3, 3>}’ is not derived from ‘const Sophus::SE3GroupBase<OtherDerived>’\r\n   Sophus::SE3d inc(result.Transformation.rotation(), result.Transformation.translation());\r\n                                                                                         ^\r\nIn file included from /home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:27:0:\r\n/usr/local/include/sophus/se3.hpp:678:15: note: candidate: Sophus::SE3Group<_Scalar, _Options>::SE3Group() [with _Scalar = double; int _Options = 0]\r\n   SOPHUS_FUNC SE3Group() : translation_(Eigen::Matrix<Scalar, 3, 1>::Zero()) {}\r\n               ^\r\n/usr/local/include/sophus/se3.hpp:678:15: note:   candidate expects 0 arguments, 2 provided\r\n/usr/local/include/sophus/se3.hpp:641:7: note: candidate: Sophus::SE3Group<double>::SE3Group(const Sophus::SE3Group<double>&)\r\n class SE3Group : public SE3GroupBase<SE3Group<_Scalar, _Options>> {\r\n       ^\r\n/usr/local/include/sophus/se3.hpp:641:7: note:   candidate expects 1 argument, 2 provided\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:238:13: error: ‘Sophus::SE3d {aka class Sophus::SE3Group<double>}’ has no member named ‘log’\r\n     x = inc.log();\r\n             ^\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:259:15: error: ‘exp’ is not a member of ‘Sophus::SE3d {aka Sophus::SE3Group<double>}’\r\n         inc = Sophus::SE3d::exp(x);\r\n               ^\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:260:32: error: ‘Sophus::SE3d {aka class Sophus::SE3Group<double>}’ has no member named ‘inverse’\r\n         initial.update() = inc.inverse() * initial();\r\n                                ^\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:261:33: error: no match for ‘operator*’ (operand types are ‘Sophus::SE3d {aka Sophus::SE3Group<double>}’ and ‘const Sophus::SE3Group<double>’)\r\n         estimate.update() = inc * estimate();\r\n                                 ^\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:263:33: error: ‘const class Sophus::SE3Group<double>’ has no member named ‘matrix’\r\n         transformf = estimate().matrix().cast<float>();\r\n                                 ^\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:263:47: error: expected primary-expression before ‘float’\r\n         transformf = estimate().matrix().cast<float>();\r\n                                               ^\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:302:65: error: ‘const class Sophus::SE3Group<double>’ has no member named ‘log’\r\n         iteration_stats.PriorLogLikelihood = cfg.Mu * initial().log().squaredNorm();\r\n                                                                 ^\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:346:52: error: ‘const class Sophus::SE3Group<double>’ has no member named ‘log’\r\n       b = ls.b.cast<double>() + cfg.Mu * initial().log();\r\n                                                    ^\r\n/home/sicong/catkin_ws/src/dvo_slam/src/dvo_core/src/dense_tracking.cpp:371:38: error: ‘const class Sophus::SE3Group<double>’ has no member named ‘inverse’\r\n   result.Transformation = estimate().inverse().matrix();\r\n                                      ^\r\ndvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/build.make:326: recipe for target 'dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/dense_tracking.cpp.o' failed\r\nmake[2]: *** [dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/src/dense_tracking.cpp.o] Error 1\r\nmake[2]: *** Waiting for unfinished jobs....\r\nCMakeFiles/Makefile2:363: recipe for target 'dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/all' failed\r\nmake[1]: *** [dvo_slam/src/dvo_core/CMakeFiles/dvo_core.dir/all] Error 2\r\nMakefile:138: recipe for target 'all' failed\r\nmake: *** [all] Error 2\r\nInvoking \"make -j8 -l8\" failed\r\n\r\n\r\nCould you help me to fix it ? thank you!"}}
{"actor":{"display_login":"songuke"}}