You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want to use the pcl library(PointCloudLibrary) on my MacBook. So I install the pcl and all dependcies by using homebrew.
However, once I "#include" the header files from the pcl library, it would raise error.
I think the problem is caused by the "boost" library (version 1.73.0) which is also installed by using homebrew. e.g. the boost library of version 1.73.0 doesn't have the endian.hpp file in include/boost/detail/, but in version 1.72.0.
But the pcl of homebrew can only be supported by the boost with version 1.73.0.
int main (int argc, char** argv) { pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in (new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_out (new pcl::PointCloud<pcl::PointXYZ>); return 0; }
/usr/local/include/boost/detail/endian.hpp:9:10: fatal error: 'boost/predef/detail/endian_compat.h' file not found
The current version of pcl is version 1.9.1, which looks like it doesn't support Boost 1.73. endian_compat.h was removed in boostorg/predef@aa6e232, between Boost 1.72 and Boost 1.73.
The current PR to upgrade pcl is at #59146, and should resolve this issue.
What you were trying to do (and why)
I want to use the pcl library(PointCloudLibrary) on my MacBook. So I install the pcl and all dependcies by using homebrew.
However, once I "#include" the header files from the pcl library, it would raise error.
I think the problem is caused by the "boost" library (version 1.73.0) which is also installed by using homebrew. e.g. the boost library of version 1.73.0 doesn't have the endian.hpp file in include/boost/detail/, but in version 1.72.0.
But the pcl of homebrew can only be supported by the boost with version 1.73.0.
What happened (include command output)
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/registration/icp.h>
int main (int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in (new pcl::PointCloud<pcl::PointXYZ>);
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_out (new pcl::PointCloud<pcl::PointXYZ>);
return 0;
}
The text was updated successfully, but these errors were encountered: