C++ PCL 1.8.0项目的链接器错误

C++ PCL 1.8.0项目的链接器错误,c++,ld,point-cloud-library,flann,C++,Ld,Point Cloud Library,Flann,在重新编译和安装PCL1.8.0之后,我的项目中出现了一些令人困惑的链接错误。有些类很好(我可以读取和呈现一台PC),但一旦我实例化了一些其他类,我就会遇到大量链接器错误 例如 我还构建并运行了与示例中过滤器类相关的PCL单元测试,没有出现错误 我认为唯一相关的是,我在shared_libs=OFF的情况下构建了PCl,cmake选择的flann库仍然是共享对象(*.so),尽管安装了*.a静态库。我无法让cmake正确识别他们 我是否明确需要在新项目中链接静态库的共享依赖项?我认为静态链接的意

在重新编译和安装PCL1.8.0之后,我的项目中出现了一些令人困惑的链接错误。有些类很好(我可以读取和呈现一台PC),但一旦我实例化了一些其他类,我就会遇到大量链接器错误

例如

我还构建并运行了与示例中过滤器类相关的PCL单元测试,没有出现错误

我认为唯一相关的是,我在shared_libs=OFF的情况下构建了PCl,cmake选择的flann库仍然是共享对象(*.so),尽管安装了*.a静态库。我无法让cmake正确识别他们

我是否明确需要在新项目中链接静态库的共享依赖项?我认为静态链接的意义(部分)在于减少共享依赖项的数量并提高可移植性


任何具体的帮助或指导,一般相关的信息将不胜感激

当我使用PCL正常计算时,通过包含
PCL//impl

#包括

#包括

希望这有帮助

#include <pcl/point_types.h>
#include <pcl/filters/statistical_outlier_removal.h>

int main()
{
  pcl::StatisticalOutlierRemoval<pcl::PointXYZ> testObject;
}
/usr/local/lib/libpcl_search.a(kdtree.cpp.o):-1: In function `pcl::search::KdTree<pcl::PointXYZ, pcl::KdTreeFLANN<pcl::PointXYZ, flann::L2_Simple<float> > >::setSortedResults(bool)':

/home/Horatio/libs/pcl-pcl-1.8.0/search/include/pcl/search/impl/kdtree.hpp:65: error: undefined reference to `pcl::KdTreeFLANN<pcl::PointXYZ, flann::L2_Simple<float> >::setSortedResults(bool)'
Checking for module 'flann'
  Found flann, version 1.8.4