point-cloud-library - pcl::NormalEstimation无法解析的外部符号
问题描述
我使用正常估计的不同配置,但有些失败:
pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> ne; // work
pcl::NormalEstimation<pcl::PointXYZRGB, pcl::Normal> ne; // work
pcl::NormalEstimation<pcl::PointXYZRGBNormal, pcl::Normal> ne; // not work
错误 LNK2001:无法解析的外部符号“受保护:虚拟 void __cdecl pcl::NormalEstimation<struct pcl::PointXYZRGBNormal,struct pcl::Normal>::computeFeature(class pcl::PointCloud &)”(?computeFeature@?$NormalEstimation@UPointXYZRGBNormal @pcl@@UNormal@2@@pcl@@MEAAXAEAV ? $PointCloud@UNormal@pcl@@@2@@Z)
解决方案
PCL API 基于模板。最常见的用例默认实例化(通常在.cpp文件中完成,例如:normal_3d.cpp)
pcl::NormalEstimation<pcl::PointXYZRGBNormal, pcl::Normal>
在编译您正在使用的 PCL 二进制文件期间未实例化,因此您需要自己进行:
#include <pcl/point_types.h>
#include <pcl/impl/instantiate.hpp> // defines the PCL_INSTANTIATE_PRODUCT macro
#include <pcl/features/normal_3d.h>
#include <pcl/features/impl/normal_3d.hpp> // make sure to include the .hpp file
PCL_INSTANTIATE_PRODUCT(NormalEstimation, ((pcl::PointXYZRGBNormal))((pcl::Normal)))
pcl::NormalEstimation<pcl::PointXYZRGBNormal, pcl::Normal> ne;
推荐阅读
- r - 更改 y 轴中值的顺序
- java - 如何在 Android Studio 中使用导航架构修复(错误:找不到符号类 ActionOnlyNavDirections)
- javascript - 选项表单标签不使用 JavaScript
- reactjs - 如何在父组件中构建 URL 并使用 react 将其传递给子组件?
- sql - 为每个组查找最接近给定日期的记录 - SQL
- sql - 查询正确返回计算,但在相乘时返回 null
- c# - 在 Unity 中将局部旋转应用于 VR 相机
- python - 卡在循环中递增的值
- python - 累计/自 Pandas 首次发货后 3 天内发货的累计数量
- r - 根据另一列的值创建滞后