grid_map
grid_map copied to clipboard
Compilation error while building SdfDemo
Setup: Ubuntu Focal 20.04, ROS 1 Noetic
I have installed grid_map grid_map_sdf. I compile the master branch with the following lines added to the demo package CmakeLists.txt
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
And I get the following build errors
/home/antoan/dev/autonomy_ws/src/litterbot_desktop/litterbot_gridmap/src/SdfDemo.cpp: In member function ‘void grid_map_demos::SdfDemo::callback(const GridMap&)’:
/home/antoan/dev/autonomy_ws/src/litterbot_desktop/litterbot_gridmap/src/SdfDemo.cpp:44:77: error: no matching function for call to ‘grid_map::SignedDistanceField::SignedDistanceField(grid_map::GridMap&, std::string&, const float&, const float&)’
44 | grid_map::SignedDistanceField sdf(map, elevationLayer_, minValue, maxValue);
| ^
In file included from /home/antoan/dev/autonomy_ws/src/litterbot_desktop/litterbot_gridmap/src/SdfDemo.cpp:14:
/opt/ros/noetic/include/grid_map_sdf/SignedDistanceField.hpp:24:3: note: candidate: ‘grid_map::SignedDistanceField::SignedDistanceField()’
24 | SignedDistanceField();
| ^~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/grid_map_sdf/SignedDistanceField.hpp:24:3: note: candidate expects 0 arguments, 4 provided
/opt/ros/noetic/include/grid_map_sdf/SignedDistanceField.hpp:21:7: note: candidate: ‘grid_map::SignedDistanceField::SignedDistanceField(const grid_map::SignedDistanceField&)’
21 | class SignedDistanceField
| ^~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/grid_map_sdf/SignedDistanceField.hpp:21:7: note: candidate expects 1 argument, 4 provided
/home/antoan/dev/autonomy_ws/src/litterbot_desktop/litterbot_gridmap/src/SdfDemo.cpp:48:66: error: no matching function for call to ‘grid_map::GridMapRosConverter::toPointCloud(grid_map::SignedDistanceField&, sensor_msgs::PointCloud2&)’
48 | grid_map::GridMapRosConverter::toPointCloud(sdf, pointCloud2Msg);
| ^
In file included from /home/antoan/dev/autonomy_ws/src/litterbot_desktop/litterbot_gridmap/src/SdfDemo.cpp:13:
/opt/ros/noetic/include/grid_map_ros/GridMapRosConverter.hpp:91:15: note: candidate: ‘static void grid_map::GridMapRosConverter::toPointCloud(const grid_map::GridMap&, const string&, sensor_msgs::PointCloud2&)’
91 | static void toPointCloud(const grid_map::GridMap& gridMap,
| ^~~~~~~~~~~~
/opt/ros/noetic/include/grid_map_ros/GridMapRosConverter.hpp:91:15: note: candidate expects 3 arguments, 2 provided
/opt/ros/noetic/include/grid_map_ros/GridMapRosConverter.hpp:104:15: note: candidate: ‘static void grid_map::GridMapRosConverter::toPointCloud(const grid_map::GridMap&, const std::vector<std::__cxx11::basic_string<char> >&, const string&, sensor_msgs::PointCloud2&)’
104 | static void toPointCloud(const grid_map::GridMap& gridMap,
| ^~~~~~~~~~~~
/opt/ros/noetic/include/grid_map_ros/GridMapRosConverter.hpp:104:15: note: candidate expects 4 arguments, 2 provided
/home/antoan/dev/autonomy_ws/src/litterbot_desktop/litterbot_gridmap/src/SdfDemo.cpp:51:116: error: no matching function for call to ‘grid_map::GridMapRosConverter::toPointCloud(grid_map::SignedDistanceField&, sensor_msgs::PointCloud2&, int, grid_map_demos::SdfDemo::callback(const GridMap&)::<lambda(float)>)’
51 | grid_map::GridMapRosConverter::toPointCloud(sdf, pointCloud2Msg, 1, [](float sdfValue) { return sdfValue > 0.0; });
| ^
In file included from /home/antoan/dev/autonomy_ws/src/litterbot_desktop/litterbot_gridmap/src/SdfDemo.cpp:13:
/opt/ros/noetic/include/grid_map_ros/GridMapRosConverter.hpp:91:15: note: candidate: ‘static void grid_map::GridMapRosConverter::toPointCloud(const grid_map::GridMap&, const string&, sensor_msgs::PointCloud2&)’
91 | static void toPointCloud(const grid_map::GridMap& gridMap,
| ^~~~~~~~~~~~
/opt/ros/noetic/include/grid_map_ros/GridMapRosConverter.hpp:91:15: note: candidate expects 3 arguments, 4 provided
/opt/ros/noetic/include/grid_map_ros/GridMapRosConverter.hpp:104:15: note: candidate: ‘static void grid_map::GridMapRosConverter::toPointCloud(const grid_map::GridMap&, const std::vector<std::__cxx11::basic_string<char> >&, const string&, sensor_msgs::PointCloud2&)’
104 | static void toPointCloud(const grid_map::GridMap& gridMap,
| ^~~~~~~~~~~~
/opt/ros/noetic/include/grid_map_ros/GridMapRosConverter.hpp:104:53: note: no known conversion for argument 1 from ‘grid_map::SignedDistanceField’ to ‘const grid_map::GridMap&’
104 | static void toPointCloud(const grid_map::GridMap& gridMap,
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/home/antoan/dev/autonomy_ws/src/litterbot_desktop/litterbot_gridmap/src/SdfDemo.cpp:54:117: error: no matching function for call to ‘grid_map::GridMapRosConverter::toPointCloud(grid_map::SignedDistanceField&, sensor_msgs::PointCloud2&, int, grid_map_demos::SdfDemo::callback(const GridMap&)::<lambda(float)>)’
54 | grid_map::GridMapRosConverter::toPointCloud(sdf, pointCloud2Msg, 1, [](float sdfValue) { return sdfValue <= 0.0; });
| ^
In file included from /home/antoan/dev/autonomy_ws/src/litterbot_desktop/litterbot_gridmap/src/SdfDemo.cpp:13:
/opt/ros/noetic/include/grid_map_ros/GridMapRosConverter.hpp:91:15: note: candidate: ‘static void grid_map::GridMapRosConverter::toPointCloud(const grid_map::GridMap&, const string&, sensor_msgs::PointCloud2&)’
91 | static void toPointCloud(const grid_map::GridMap& gridMap,
| ^~~~~~~~~~~~
/opt/ros/noetic/include/grid_map_ros/GridMapRosConverter.hpp:91:15: note: candidate expects 3 arguments, 4 provided
/opt/ros/noetic/include/grid_map_ros/GridMapRosConverter.hpp:104:15: note: candidate: ‘static void grid_map::GridMapRosConverter::toPointCloud(const grid_map::GridMap&, const std::vector<std::__cxx11::basic_string<char> >&, const string&, sensor_msgs::PointCloud2&)’
104 | static void toPointCloud(const grid_map::GridMap& gridMap,
| ^~~~~~~~~~~~
/opt/ros/noetic/include/grid_map_ros/GridMapRosConverter.hpp:104:53: note: no known conversion for argument 1 from ‘grid_map::SignedDistanceField’ to ‘const grid_map::GridMap&’
104 | static void toPointCloud(const grid_map::GridMap& gridMap,
It is the only example I am unable to build from the demo package (which I really appreciate) I would be grateful for any advice on how to get past this.
Cheers,
Antoan