未解析的外部符号类Matrix4 * 4点coud库

时间:2018-04-14 11:09:44

标签: c++ point-cloud-library

我尝试使用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();


}

1 个答案:

答案 0 :(得分:0)

这对我有用。 编辑:实际上即使没有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;
}