PointCloudLibrary / pcl

Point Cloud Library (PCL)

Home Page:https://pointclouds.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[convolution_3d.h] search :: the symbol on the left must be of a type

PatricianEagle opened this issue · comments

Describe the bug
When initialize a GaussianKernel object
pcl::filters::GaussianKernel<pcl::PointXYZ, pcl::PointXYZ>::Ptr kernel(new pcl::filters::GaussianKernel<pcl::PointXYZ, pcl::PointXYZ>);
the code in convolution_3d.h has an error.

screenshots of the GUI issues
image

I've included that <boost/optional.hpp>.

Environment

  • Win10
  • VS2022-msvc c++17
  • PCL Version [1.14.0]

@PatricianEagle Try adding

#include <pcl/common/point_tests.h>
#include <pcl/search/search.h>

before #include <pcl/filters/convolution_3d.h>, then it should work.

@PatricianEagle Try adding

#include <pcl/common/point_tests.h>
#include <pcl/search/search.h>

before #include <pcl/filters/convolution_3d.h>, then it should work.
Great! Problem solved, thank you very much!
But I wonder why that is?

Great! Problem solved, thank you very much!
But I wonder why that is?

It is a bug in PCL. convolution_3d.h should include <pcl/search/search.h> and convolution_3d.hpp should include <pcl/common/point_tests.h> because they use classes/functions from those headers. I will fix this when I have the time, or, if you like, you can create a pull request to fix this.

Great! Problem solved, thank you very much!
But I wonder why that is?

It is a bug in PCL. convolution_3d.h should include <pcl/search/search.h> and convolution_3d.hpp should include <pcl/common/point_tests.h> because they use classes/functions from those headers. I will fix this when I have the time, or, if you like, you can create a pull request to fix this.

Ok! I'll try it.Thank you!