【问题标题】:unresolved external symbol class Matrix4*4 point coud library未解析的外部符号类 Matrix 4*4 点云库
【发布时间】:2018-09-24 15:01:49
【问题描述】:

我正在尝试使用 pcl 库加载 pcd 文件,我这样做并使用云查看器显示它,但我正在尝试使用 PCLVisualizer。 当我使用 addPointCloud 函数时出现错误:

严重性代码描述项目文件行抑制状态 错误 LNK2019 未解析的外部符号“public: static class vtkMatrix4x4 * __cdecl vtkMatrix4x4::New(void)” (?New@vtkMatrix4x4@@SAPEAV1@XZ) 在函数“public: static class vtkSmartPointer __cdecl vtkSmartPointer::New(void)”中引用(?New@?$vtkSmartPointer@VvtkMatrix4x4@@@@SA?AV1@XZ) SamplePCL C:\Users\Nima_S_H\Documents\Visual Studio 2015\Projects\SamplePCL\SamplePCL\Source.obj 1

我的代码:

#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_NO_WARNINGS
#define _HAS_ITERATOR_DEBUGGING  0
#define _ITERATOR_DEBUG_LEVEL  0

#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
void main()
{

typedef pcl::PointXYZRGB PTYPE;
pcl::PointCloud<PTYPE>::Ptr myCloudPtr(new pcl::PointCloud<PTYPE>);
if (pcl::io::loadPCDFile("e:/myCloudASCII.pcd", *myCloudPtr) == -1)
{
    PCL_ERROR("Could not read PCD file.");
    return;
}
pcl::visualization::PCLVisualizer viz;
viz.addPointCloud(myCloudPtr);
viz.spin();


}

【问题讨论】:

  • 这个 sn-p 不会为我编译。你有无效的主要功能。如果我将其更改为 int (以及返回值),它编译并运行没有问题 - 尽管你什么都看不到

标签: c++ point-cloud-library


【解决方案1】:

这对我有用。 编辑:实际上即使没有 spinOnce 它也可以工作。只需使用旋转..

#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_NO_WARNINGS
#define _HAS_ITERATOR_DEBUGGING  0
#define _ITERATOR_DEBUG_LEVEL  0

#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
int  main()
{

typedef pcl::PointXYZ PTYPE;
pcl::PointCloud<PTYPE>::Ptr myCloudPtr(new pcl::PointCloud<PTYPE>);
if (pcl::io::loadPCDFile("test.pcd", *myCloudPtr) == -1)
{
    PCL_ERROR("Could not read PCD file.");
    return 0;
}
pcl::visualization::PCLVisualizer viz;
viz.addPointCloud(myCloudPtr);
    while (!viz.wasStopped ())
    {
      viz.spinOnce (100);
    }

return 1;
}

【讨论】:

  • 谢谢,但不幸的是对我不起作用,我有 Link2019 错误,这是关于链接器的。我用的是PCL 1.8.0,为什么不显示这个错误,你用的是哪个版本的pcl?
  • 哦,是的,错过了您的实际问题。 1.8.0 在 ubuntu 和 cmake 上。它只是关于可视化器吗?可能与此有关..stackoverflow.com/questions/40603535/…
  • 我将 pcl 降级到 1.6.0 但我有这个错误;错误 C4996 'pcl::SHOT': 使用 SHOT352 FOR SHAPE 和 SHOT1344 FOR SHAPE+COLOR INSTEAD SamplePCL e:\program files\pcl 1.6.0\include\pcl-1.6\pcl\impl\point_types.hpp 1009
猜你喜欢
  • 2013-05-25
  • 2018-08-02
  • 1970-01-01
  • 1970-01-01
  • 2011-02-09
  • 1970-01-01
相关资源
最近更新 更多