我正在努力建立lsd-slam。使用Ubuntu 14.04和ROS indigo。在最后一步,我得到了这个:
[rosmake-1] Starting >>> lsd_slam_core [ make ]
[ rosmake ] Last 40 linesd_slam_core: 18.0 sec ] [ 1 Active 41/42 Complete ]
{-------------------------------------------------------------------------------
/opt/ros/indigo/include/sophus/sim3.hpp: In instantiation of ‘void Sophus::Sim3GroupBase<Derived>::setScale(const Scalar&) const [with Derived = Sophus::Sim3Group<double>; Sophus::Sim3GroupBase<Derived>::Scalar = double]’:
/home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:56:23: required from here
/opt/ros/indigo/include/sophus/sim3.hpp:339:5: error: passing ‘const RxSO3Type {aka const Sophus::RxSO3Group<double>}’ as ‘this’ argument of ‘void Sophus::RxSO3GroupBase<Derived>::setScale(const Scalar&) [with Derived = Sophus::RxSO3Group<double>; Sophus::RxSO3GroupBase<Derived>::Scalar = double]’ discards qualifiers [-fpermissive]
rxso3().setScale(scale);
^
In file included from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:23:0,
from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/DataStructures/Frame.h:22,
from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/DataStructures/FrameMemory.cpp:22:
/opt/ros/indigo/include/sophus/sim3.hpp: In instantiation of ‘void Sophus::Sim3GroupBase<Derived>::setScale(const Scalar&) const [with Derived = Sophus::Sim3Group<double>; Sophus::Sim3GroupBase<Derived>::Scalar = double]’:
/home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:56:23: required from here
/opt/ros/indigo/include/sophus/sim3.hpp:339:5: error: passing ‘const RxSO3Type {aka const Sophus::RxSO3Group<double>}’ as ‘this’ argument of ‘void Sophus::RxSO3GroupBase<Derived>::setScale(const Scalar&) [with Derived = Sophus::RxSO3Group<double>; Sophus::RxSO3GroupBase<Derived>::Scalar = double]’ discards qualifiers [-fpermissive]
rxso3().setScale(scale);
^
In file included from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:23:0,
from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/DataStructures/Frame.h:22,
from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/DataStructures/Frame.cpp:21:
/opt/ros/indigo/include/sophus/sim3.hpp: In instantiation of ‘void Sophus::Sim3GroupBase<Derived>::setScale(const Scalar&) const [with Derived = Sophus::Sim3Group<double>; Sophus::Sim3GroupBase<Derived>::Scalar = double]’:
/home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:56:23: required from here
/opt/ros/indigo/include/sophus/sim3.hpp:339:5: error: passing ‘const RxSO3Type {aka const Sophus::RxSO3Group<double>}’ as ‘this’ argument of ‘void Sophus::RxSO3GroupBase<Derived>::setScale(const Scalar&) [with Derived = Sophus::RxSO3Group<double>; Sophus::RxSO3GroupBase<Derived>::Scalar = double]’ discards qualifiers [-fpermissive]
rxso3().setScale(scale);
^
In file included from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:23:0,
from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/SlamSystem.h:31,
from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/SlamSystem.cpp:21:
/opt/ros/indigo/include/sophus/sim3.hpp: In instantiation of ‘void Sophus::Sim3GroupBase<Derived>::setScale(const Scalar&) const [with Derived = Sophus::Sim3Group<double>; Sophus::Sim3GroupBase<Derived>::Scalar = double]’:
/home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:56:23: required from here
/opt/ros/indigo/include/sophus/sim3.hpp:339:5: error: passing ‘const RxSO3Type {aka const Sophus::RxSO3Group<double>}’ as ‘this’ argument of ‘void Sophus::RxSO3GroupBase<Derived>::setScale(const Scalar&) [with Derived = Sophus::RxSO3Group<double>; Sophus::RxSO3GroupBase<Derived>::Scalar = double]’ discards qualifiers [-fpermissive]
rxso3().setScale(scale);
^
make[3]: *** [CMakeFiles/lsdslam.dir/src/DataStructures/FramePoseStruct.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [CMakeFiles/lsdslam.dir/src/DataStructures/FrameMemory.cpp.o] Error 1
make[3]: *** [CMakeFiles/lsdslam.dir/src/DataStructures/Frame.cpp.o] Error 1
make[3]: *** [CMakeFiles/lsdslam.dir/src/SlamSystem.cpp.o] Error 1
make[3]: Leaving directory `/home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/build'
make[2]: *** [CMakeFiles/lsdslam.dir/all] Error 2
make[2]: Leaving directory `/home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/build'
-------------------------------------------------------------------------------}
[ rosmake ] Output from build of package lsd_slam_core written to:
[ rosmake ] /home/ram/.ros/rosmake/rosmake_output-20160401-150212/lsd_slam_core/build_output.log
[rosmake-1] Finished <<< lsd_slam_core [FAIL] [ 18.04 seconds ]
[ rosmake ] Halting due to failure in package lsd_slam_core.
[ rosmake ] Waiting for other threads to complete.
[ rosmake ] Results:
[ rosmake ] Built 42 packages with 1 failures.
[ rosmake ] Summary output to directory
[ rosmake ] /home/ram/.ros/rosmake/rosmake_output-20160401-150212
任何人都可以解释编译器想要什么以及如何解决这个问题吗?
感谢您的时间。
答案 0 :(得分:-1)
我设法通过使用catkin而不是rosmake来解决这个问题。以下链接提供了分步说明:
http://visbot.blogspot.com/2014/11/tutorial-building-of-lsd-slam-on-ros.html