提示:
~/template_alignment.cpp:128:7: error: ‘PCL_MAKE_ALIGNED_OPERATOR_NEW’ does not name a type
PCL_MAKE_ALIGNED_OPERATOR_NEW
^
修改方法:
官网中有这么一句解释,
Because we are including an Eigen::Matrix4f in this struct, we need to include the EIGEN_MAKE_ALIGNED_OPERATOR_NEW macro, which will overload the struct’s “operator new” so that it will generate 16-bytes-aligned pointers. If you’re curious, you can find more information about this issue here. For convenience, there is a redefinition of the macro in pcl_macros.h, aptly named PCL_MAKE_ALIGNED_OPERATOR_NEW which will let us for example call pcl::make_shared to create a shared_ptr of over-aligned classes.
可以看到这里是对宏的重定义,但是在 pcl_macros.h并未进行定义,所以修改回去。可能原因新版本1.9进行修改,但这里我用的时pcl1.8
找到这一行语句:
将 PCL_MAKE_ALIGNED_OPERATOR_NEW修改成 EIGEN_MAKE_ALIGNED_OPERATOR_NEW