[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.
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!