ethz-asl / segmap

A map representation based on 3D segments
BSD 3-Clause "New" or "Revised" License
1.07k stars 393 forks source link

Laser_SLAM build issue #138

Closed brunoeducsantos closed 5 years ago

brunoeducsantos commented 5 years ago

Hi, I was trying to build in a workspace with laser_slam, segmatch and segmatch_ros . For building I took the following approach: https://github.com/vkee/segmatch/blob/master/README.md Although, I am obtaining the following error:

In file included from /home/bruno/segmatch_ws/src/laser_slam/laser_slam/include/laser_slam/laser_track.hpp:10:0,
                 from /home/bruno/segmatch_ws/src/laser_slam/laser_slam/src/laser_track.cpp:1:
/home/bruno/segmatch_ws/src/laser_slam/laser_slam/include/laser_slam/common.hpp: In function ‘void laser_slam::correctTransformationMatrix(PointMatcher<float>::TransformationParameters*)’:
/home/bruno/segmatch_ws/src/laser_slam/laser_slam/include/laser_slam/common.hpp:141:75: error: cannot convert ‘std::shared_ptr<PointMatcher<float>::Transformation>’ to ‘PointMatcher<float>::Transformation*’ in initialization
       PointMatcher::get().REG(Transformation).create("RigidTransformation");
                                                                           ^
/home/bruno/segmatch_ws/src/laser_slam/laser_slam/src/laser_track.cpp: In constructor ‘laser_slam::LaserTrack::LaserTrack(const laser_slam::LaserTrackParams&, unsigned int)’:
/home/bruno/segmatch_ws/src/laser_slam/laser_slam/src/laser_track.cpp:33:25: error: cannot convert ‘std::shared_ptr<PointMatcher<float>::Transformation>’ to ‘PointMatcher<float>::Transformation*’ in assignment
   rigid_transformation_ = PointMatcher::get().REG(Transformation).create("RigidTransformation");
                         ^
In file included from /home/bruno/segmatch_ws/src/laser_slam/laser_slam/include/laser_slam/incremental_estimator.hpp:10:0,
                 from /home/bruno/segmatch_ws/src/laser_slam/laser_slam/src/incremental_estimator.cpp:1:
/home/bruno/segmatch_ws/src/laser_slam/laser_slam/include/laser_slam/common.hpp: In function ‘void laser_slam::correctTransformationMatrix(PointMatcher<float>::TransformationParameters*)’:
/home/bruno/segmatch_ws/src/laser_slam/laser_slam/include/laser_slam/common.hpp:141:75: error: cannot convert ‘std::shared_ptr<PointMatcher<float>::Transformation>’ to ‘PointMatcher<float>::Transformation*’ in initialization
       PointMatcher::get().REG(Transformation).create("RigidTransformation");
                                                                           ^
make[2]: *** [CMakeFiles/laser_slam.dir/src/laser_track.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/laser_slam.dir/src/incremental_estimator.cpp.o] Error 1

Any help would be appreciated.

Regards, Bruno

pxc2017 commented 4 years ago

hi,i had the same problem,could you tell me how to solve it? appreciate