There are some problems with the corresponding boost version when installing the pcl1.18.0 version:
1.对应boost1.58时出现undefined reference to `boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::string&)'
2. When changing boost to 1.68, fatal error: boost/uuid/sha1.hpp: No such file or directory appears. This problem has been explained on pcl's github
https://github.com/PointCloudLibrary/pcl/issues/2682
So we can only continue to change to other versions of boost
After trying, boost1.63 can work with pcl1.18.0.
pcl is installed from the source code, you only need to delete /usr/local/lib/libboost_* and /usr/local/include/boost, and then install pcl from the source code again.