24 KiB
24 KiB
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc: In member function ‘void SegmentationNode::scanCallback(sensor_msgs::msg::PointCloud2_<std::allocator<void> >::SharedPtr)’:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:117:34: error: conflicting declaration ‘pcl::PointCloud<pcl::PointXYZ> cloud’
117 | pcl::PointCloud<pcl::PointXYZ> cloud;
| ^~~~~
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:102:39: note: previous declaration as ‘pcl::PointCloud<pcl::PointXYZ>::Ptr cloud’
102 | pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
| ^~~~~
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:118:18: error: no matching function for call to ‘fromROSMsg(std::__shared_ptr_access<sensor_msgs::msg::PointCloud2_<std::allocator<void> >, __gnu_cxx::_S_atomic, false, false>::element_type&, pcl::PointCloud<pcl::PointXYZ>::Ptr&)’
118 | pcl::fromROSMsg(*flipped_msg, cloud);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:6:
/opt/ros/humble/include/pcl_conversions/pcl_conversions.h:566:8: note: candidate: ‘template<class T> void pcl::fromROSMsg(const PointCloud2&, pcl::PointCloud<PointT>&)’
566 | void fromROSMsg(const sensor_msgs::msg::PointCloud2 &cloud, pcl::PointCloud<T> &pcl_cloud)
| ^~~~~~~~~~
/opt/ros/humble/include/pcl_conversions/pcl_conversions.h:566:8: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:118:18: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘pcl::PointCloud<PointT>’
118 | pcl::fromROSMsg(*flipped_msg, cloud);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: error: no matching function for call to ‘transformPointCloud(pcl::PointCloud<pcl::PointXYZ>::Ptr&, pcl::PointCloud<pcl::PointXYZ>&, Eigen::Affine3d&)’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:60:3: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, pcl::PointCloud<PointT>&, const Eigen::Transform<Scalar, 3, 2>&, bool)’
60 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:60:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:69:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, pcl::PointCloud<PointT>&, const Affine3f&, bool)’
69 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:69:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:87:3: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const Indices&, pcl::PointCloud<PointT>&, const Eigen::Transform<Scalar, 3, 2>&, bool)’
87 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:87:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:97:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const Indices&, pcl::PointCloud<PointT>&, const Affine3f&, bool)’
97 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:97:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:116:3: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const pcl::PointIndices&, pcl::PointCloud<PointT>&, const Eigen::Transform<Scalar, 3, 2>&, bool)’
116 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:116:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:126:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const pcl::PointIndices&, pcl::PointCloud<PointT>&, const Affine3f&, bool)’
126 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:126:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/pcl-1.12/pcl/common/transforms.h:493,
from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:221:1: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, pcl::PointCloud<PointT>&, const Eigen::Matrix<Scalar, 4, 4>&, bool)’
221 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:221:1: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:237:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, pcl::PointCloud<PointT>&, const Matrix4f&, bool)’
237 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:237:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/pcl-1.12/pcl/common/transforms.h:493,
from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:263:1: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const Indices&, pcl::PointCloud<PointT>&, const Eigen::Matrix<Scalar, 4, 4>&, bool)’
263 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:263:1: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:262:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const Indices&, pcl::PointCloud<PointT>&, const Matrix4f&, bool)’
262 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:262:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:281:3: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const pcl::PointIndices&, pcl::PointCloud<PointT>&, const Eigen::Matrix<Scalar, 4, 4>&, bool)’
281 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:281:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:291:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const pcl::PointIndices&, pcl::PointCloud<PointT>&, const Matrix4f&, bool)’
291 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:291:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/pcl-1.12/pcl/common/transforms.h:493,
from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:407:1: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, pcl::PointCloud<PointT>&, const Eigen::Matrix<Scalar, 3, 1>&, const Eigen::Quaternion<Scalar>&, bool)’
407 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:407:1: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:404:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, pcl::PointCloud<PointT>&, const Vector3f&, const Quaternionf&, bool)’
404 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:404:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:151:22: error: operands to ‘?:’ have different types ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} and ‘pcl::PointCloud<pcl::PointXYZ>’
151 | is_original_pc ? cloud : cloud_transformed;
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:155:32: error: ‘using Ptr = class std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’ {aka ‘class std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} has no member named ‘size’
155 | for (size_t i = 0; i < cloud.size(); ++i) {
| ^~~~
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:157:35: error: no match for ‘operator[]’ (operand types are ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} and ‘size_t’ {aka ‘long unsigned int’})
157 | ground_cloud.push_back(cloud[i]);
| ^
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:159:37: error: no match for ‘operator[]’ (operand types are ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} and ‘size_t’ {aka ‘long unsigned int’})
159 | obstacle_cloud.push_back(cloud[i]);
| ^
gmake[2]: *** [CMakeFiles/ground_segmentation_node.dir/build.make:76: CMakeFiles/ground_segmentation_node.dir/src/ground_segmentation_node.cc.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:140: CMakeFiles/ground_segmentation_node.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:117:34: error: conflicting declaration ‘pcl::PointCloud<pcl::PointXYZ> cloud’
117 | pcl::PointCloud<pcl::PointXYZ> cloud;
| ^~~~~
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:102:39: note: previous declaration as ‘pcl::PointCloud<pcl::PointXYZ>::Ptr cloud’
102 | pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
| ^~~~~
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:118:18: error: no matching function for call to ‘fromROSMsg(std::__shared_ptr_access<sensor_msgs::msg::PointCloud2_<std::allocator<void> >, __gnu_cxx::_S_atomic, false, false>::element_type&, pcl::PointCloud<pcl::PointXYZ>::Ptr&)’
118 | pcl::fromROSMsg(*flipped_msg, cloud);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:6:
/opt/ros/humble/include/pcl_conversions/pcl_conversions.h:566:8: note: candidate: ‘template<class T> void pcl::fromROSMsg(const PointCloud2&, pcl::PointCloud<PointT>&)’
566 | void fromROSMsg(const sensor_msgs::msg::PointCloud2 &cloud, pcl::PointCloud<T> &pcl_cloud)
| ^~~~~~~~~~
/opt/ros/humble/include/pcl_conversions/pcl_conversions.h:566:8: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:118:18: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘pcl::PointCloud<PointT>’
118 | pcl::fromROSMsg(*flipped_msg, cloud);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: error: no matching function for call to ‘transformPointCloud(pcl::PointCloud<pcl::PointXYZ>::Ptr&, pcl::PointCloud<pcl::PointXYZ>&, Eigen::Affine3d&)’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:60:3: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, pcl::PointCloud<PointT>&, const Eigen::Transform<Scalar, 3, 2>&, bool)’
60 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:60:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:69:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, pcl::PointCloud<PointT>&, const Affine3f&, bool)’
69 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:69:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:87:3: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const Indices&, pcl::PointCloud<PointT>&, const Eigen::Transform<Scalar, 3, 2>&, bool)’
87 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:87:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:97:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const Indices&, pcl::PointCloud<PointT>&, const Affine3f&, bool)’
97 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:97:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:116:3: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const pcl::PointIndices&, pcl::PointCloud<PointT>&, const Eigen::Transform<Scalar, 3, 2>&, bool)’
116 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:116:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:126:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const pcl::PointIndices&, pcl::PointCloud<PointT>&, const Affine3f&, bool)’
126 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:126:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/pcl-1.12/pcl/common/transforms.h:493,
from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:221:1: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, pcl::PointCloud<PointT>&, const Eigen::Matrix<Scalar, 4, 4>&, bool)’
221 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:221:1: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:237:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, pcl::PointCloud<PointT>&, const Matrix4f&, bool)’
237 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:237:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/pcl-1.12/pcl/common/transforms.h:493,
from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:263:1: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const Indices&, pcl::PointCloud<PointT>&, const Eigen::Matrix<Scalar, 4, 4>&, bool)’
263 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:263:1: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:262:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const Indices&, pcl::PointCloud<PointT>&, const Matrix4f&, bool)’
262 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:262:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:281:3: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const pcl::PointIndices&, pcl::PointCloud<PointT>&, const Eigen::Matrix<Scalar, 4, 4>&, bool)’
281 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:281:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:291:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, const pcl::PointIndices&, pcl::PointCloud<PointT>&, const Matrix4f&, bool)’
291 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:291:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/pcl-1.12/pcl/common/transforms.h:493,
from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:407:1: note: candidate: ‘template<class PointT, class Scalar> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, pcl::PointCloud<PointT>&, const Eigen::Matrix<Scalar, 3, 1>&, const Eigen::Quaternion<Scalar>&, bool)’
407 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/impl/transforms.hpp:407:1: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:4:
/usr/include/pcl-1.12/pcl/common/transforms.h:404:3: note: candidate: ‘template<class PointT> void pcl::transformPointCloud(const pcl::PointCloud<PointT>&, pcl::PointCloud<PointT>&, const Vector3f&, const Quaternionf&, bool)’
404 | transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
| ^~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.12/pcl/common/transforms.h:404:3: note: template argument deduction/substitution failed:
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:139:31: note: ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} is not derived from ‘const pcl::PointCloud<PointT>’
139 | pcl::transformPointCloud(cloud, cloud_transformed, tf);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:151:22: error: operands to ‘?:’ have different types ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} and ‘pcl::PointCloud<pcl::PointXYZ>’
151 | is_original_pc ? cloud : cloud_transformed;
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:155:32: error: ‘using Ptr = class std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’ {aka ‘class std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} has no member named ‘size’
155 | for (size_t i = 0; i < cloud.size(); ++i) {
| ^~~~
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:157:35: error: no match for ‘operator[]’ (operand types are ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} and ‘size_t’ {aka ‘long unsigned int’})
157 | ground_cloud.push_back(cloud[i]);
| ^
/home/firmament/codes/24navigation/src/linefit_ground_segementation_ros2/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc:159:37: error: no match for ‘operator[]’ (operand types are ‘pcl::PointCloud<pcl::PointXYZ>::Ptr’ {aka ‘std::shared_ptr<pcl::PointCloud<pcl::PointXYZ> >’} and ‘size_t’ {aka ‘long unsigned int’})
159 | obstacle_cloud.push_back(cloud[i]);
| ^
gmake[2]: *** [CMakeFiles/ground_segmentation_node.dir/build.make:76: CMakeFiles/ground_segmentation_node.dir/src/ground_segmentation_node.cc.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:140: CMakeFiles/ground_segmentation_node.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2