【问题标题】:Issue with PCL and CMake : StatisticalOutlierRemoval undefined while linkingPCL 和 CMake 的问题:链接时未定义 StatisticalOutlierRemoval
【发布时间】:2017-02-08 14:03:20
【问题描述】:

我目前正在尝试使用 PCL 过滤点云,这要归功于 StatisticalOutlierRemoval 而不使用 ROS,仅使用我通过 official github repository 安装的 PCL。我在代码中使用了this,但在链接时出现以下错误:

CMakeFiles/tests/11_pcl/removeOutliers.dir/removeOutliers.cpp.o: In function `pcl::StatisticalOutlierRemoval<pcl::PointXYZRGB>::applyFilter(std::vector<int, std::allocator<int> >&)':
removeOutliers.cpp:(.text._ZN3pcl25StatisticalOutlierRemovalINS_11PointXYZRGBEE11applyFilterERSt6vectorIiSaIiEE[_ZN3pcl25StatisticalOutlierRemovalINS_11PointXYZRGBEE11applyFilterERSt6vectorIiSaIiEE]+0x1): undefined reference to `pcl::StatisticalOutlierRemoval<pcl::PointXYZRGB>::applyFilterIndices(std::vector<int, std::allocator<int> >&)'
CMakeFiles/tests/11_pcl/removeOutliers.dir/removeOutliers.cpp.o:(.rodata._ZTVN3pcl25StatisticalOutlierRemovalINS_11PointXYZRGBEEE[_ZTVN3pcl25StatisticalOutlierRemovalINS_11PointXYZRGBEEE]+0x48): undefined reference to `pcl::StatisticalOutlierRemoval<pcl::PointXYZRGB>::applyFilter(pcl::PointCloud<pcl::PointXYZRGB>&)'

在我的 CMakeList 中,我有以下几行:

find_package(PCL 1.3 REQUIRED COMPONENTS common io visualization)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

和:

add_executable(tests/11_pcl/removeOutliers removeOutliers.cpp)
target_link_libraries(tests/11_pcl/removeOutliers ${PCL_LIBRARIES} ${OpenCV_LIBS})    

在我的 cpp 文件中,我只尝试使用以下方法初始化异常值删除:

pcl::StatisticalOutlierRemoval<pcl::PointXYZRGB> sor;

我有以下标题:

#include <pcl/common/common_headers.h>
#include <pcl/features/normal_3d.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/console/parse.h>

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

我想我可能在 PCL 中缺少一个组件...有什么想法吗?

【问题讨论】:

    标签: c++ c++11 cmake point-cloud-library


    【解决方案1】:

    好的,我找到了解决方案。我实际上缺少 PCL 中的一个组件(过滤器)..

    find_package(PCL 1.3 REQUIRED COMPONENTS common io visualization filters)
    

    现在一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      相关资源
      最近更新 更多