Hi,
Thanks for the nice idea,
When making the file I see that pcl_isfinite is not defined in the namespace, so when changing !pcl_isfinite (in_cloud->points[i].x) to !pcl::pcl_isfinite (in_cloud->points[i].x), this shows up:
make
Consolidate compiler generated dependencies of target pcl_norm_2d
[ 20%] Building CXX object CMakeFiles/pcl_norm_2d.dir/src/PCA2D.cpp.o
/PCL-Normal-Estimation-2d-master/src/PCA2D.cpp: In member function ‘void PCA2D::project(const ConstPtrCloud&, PtrCloud&)’:
/PCL-Normal-Estimation-2d-master/src/PCA2D.cpp:99:23: error: ‘pcl_isfinite’ is not a member of ‘pcl’; did you mean ‘isFinite’?
99 | if (!pcl::pcl_isfinite(in_cloud->points[i].x) ||
| ^~~~~~~~~~~~
| isFinite
/PCL-Normal-Estimation-2d-master/src/PCA2D.cpp:100:23: error: ‘pcl_isfinite’ is not a member of ‘pcl’; did you mean ‘isFinite’?
100 | !pcl::pcl_isfinite(in_cloud->points[i].y) ||
| ^~~~~~~~~~~~
| isFinite
/PCL-Normal-Estimation-2d-master/src/PCA2D.cpp:101:23: error: ‘pcl_isfinite’ is not a member of ‘pcl’; did you mean ‘isFinite’?
101 | !pcl::pcl_isfinite(in_cloud->points[i].z))
| ^~~~~~~~~~~~
| isFinite
make[2]: *** [CMakeFiles/pcl_norm_2d.dir/build.make:76: CMakeFiles/pcl_norm_2d.dir/src/PCA2D.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:111: CMakeFiles/pcl_norm_2d.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
and when I change pcl::pcl_isfinite() to !pcl::isFinite(in_cloud->points[i].x) I still see the following error:
make
Consolidate compiler generated dependencies of target pcl_norm_2d
[ 20%] Building CXX object CMakeFiles/pcl_norm_2d.dir/src/PCA2D.cpp.o
In file included from /usr/include/pcl-1.12/pcl/common/impl/centroid.hpp:45,
from /usr/include/pcl-1.12/pcl/common/centroid.h:1099,
from /PCL-Normal-Estimation-2d-master/src/../include/PCA2D.h:13,
from /PCL-Normal-Estimation-2d-master/src/PCA2D.cpp:5:
/usr/include/pcl-1.12/pcl/common/point_tests.h: In instantiation of ‘bool pcl::isFinite(const PointT&) [with PointT = float]’:
/PCL-Normal-Estimation-2d-master/src/PCA2D.cpp:99:31: required from here
/usr/include/pcl-1.12/pcl/common/point_tests.h:57:31: error: request for member ‘x’ in ‘pt’, which is of non-class type ‘const float’
57 | return (std::isfinite (pt.x) && std::isfinite (pt.y) && std::isfinite (pt.z));
| ~~~^
/usr/include/pcl-1.12/pcl/common/point_tests.h:57:55: error: request for member ‘y’ in ‘pt’, which is of non-class type ‘const float’
57 | return (std::isfinite (pt.x) && std::isfinite (pt.y) && std::isfinite (pt.z));
| ~~~^
/usr/include/pcl-1.12/pcl/common/point_tests.h:57:79: error: request for member ‘z’ in ‘pt’, which is of non-class type ‘const float’
57 | return (std::isfinite (pt.x) && std::isfinite (pt.y) && std::isfinite (pt.z));
| ~~~^
make[2]: *** [CMakeFiles/pcl_norm_2d.dir/build.make:76: CMakeFiles/pcl_norm_2d.dir/src/PCA2D.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:111: CMakeFiles/pcl_norm_2d.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
What is the issue here? any hints?
Hi,
Thanks for the nice idea,
When making the file I see that
pcl_isfiniteis not defined in the namespace, so when changing!pcl_isfinite (in_cloud->points[i].x)to!pcl::pcl_isfinite (in_cloud->points[i].x), this shows up:and when I change
pcl::pcl_isfinite()to!pcl::isFinite(in_cloud->points[i].x)I still see the following error:What is the issue here? any hints?