如何确定 C++ 代码中的 PCL(点云库)版本?

How to determine PCL (Point Cloud Library) version in C++ code?

有没有办法在 C++ 代码中检查 PCL 版本?
我需要在源代码级别上兼容 1.6 和 1.7,我。 e.像这样:

#if PCL_VERSION >= 1.7
// some tasty functionality
#else
some old replacement
#endif

PCL 版本和一些其他有用的预处理器宏在 "pcl_config.h" 头文件中定义。例如,要有条件地为低于 1.7.2 的版本编译一些回退代码,可以这样写:

#include <pcl/pcl_config.h>

#if PCL_VERSION_COMPARE(<, 1, 7, 2)
  ... fallback code ...
#endif

如果你只想看PCL版本,

#include <pcl/pcl_config.h>
std::cout << PCL_VERSION << std::endl;

例如,100901 表示 1.9.1。