pcl/pcl_config.h: 没有那个文件或目录

pcl/pcl_config.h: No such file or directory

我的环境如下。
・操作系统和version:windows 10 64bit
・编译器:C:\msys64\mingw64\bin\g++.exe
・PCLVersion:1.9.1

pcl_config.h not found as below error when compiled under above env..
当然不包括这个头文件。
让我知道如何解决它。

PS C:\pcl\pcl\examples\common> g++ -o minmax -I ../../io/include -I ../../common/include .\example_get_max_min_coordinates.cpp
在 ../../common/include/pcl/PCLHeader.h:10,
包含的文件中 来自 ../../common/include/pcl/point_cloud.h:47,
来自 ../../io/include/pcl/io/pcd_io.h:42,
来自 .\example_get_max_min_coordinates.cpp:2:
../../common/include/pcl/pcl_macros.h:64:10: 致命错误:
pcl/pcl_config.h: 没有那个文件或目录
#include
^~~~~~~~~~~~~~~~~~
编译终止。

简答

pcl_config.h 是由 cmake tool 通过 pcl_config.h.in 生成的。所以似乎编译没有正确完成。

更长的答案

  • 请确保您已经编译了PCL(至少pcl-core)的相关模块,然后再继续
  • 您可能更喜欢 releases 的 pre-built 安装或由您选择的 package/source 管理员分发
  • PCL 大量使用其他库,最好通过 CMake 或手动通过 -I-l 选项提供依赖项(如下所述)。如果你提供pcl_config.h的位置,编译器接下来会报错Eigen

构建说明可用 hereTL;DR:满足依赖关系后(cmake、c++编译器、boost、eigen、flann、vtk等依赖use-case),运行以下命令

cd $PCL_SOURCE_DIR
mkdir -p build; cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j8

随意使用任何构建生成器(如 Ninja)或根据需要将构建类型更改为 DebugRelWithDebInfo