본문 바로가기

Programming

PCL 라이브러리과 VTK라이브러리의 Namespace detail이 겹칠 경우

PCL(Point Cloud Library)을 사용할 때

detail: 애매모호한 형식입니다?

라는 오류가 발생할 때가 있다.


이것때매 정말 많이 고생했는데.... PCL을 사용할 때 아래와 같이 헤더를 적어주면 된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/************************************************************************/
/*                              PCL Header                              */
/************************************************************************/
// PCL Header
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/io/ply_io.h>
#include <pcl/kdtree/kdtree_flann.h>
#include <pcl/features/normal_3d_omp.h>
#include <pcl/surface/gp3.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/octree/octree_pointcloud.h>
#include <pcl/visualization/point_picking_event.h>
#include <pcl/common/common.h>
#include <pcl/common/transforms.h>
#include <pcl/features/normal_3d.h>
 
// define the following in order to eliminate the deprecated headers warning
#define VTK_EXCLUDE_STRSTREAM_HEADERS
#include <pcl/io/vtk_lib_io.h>
#include <pcl/console/print.h>
#include <pcl/console/parse.h>
#include <pcl/console/time.h>
 
// RangeImage:
#include <pcl/range_image/range_image_planar.h>
 
// Pop-up viewer
#include <boost/thread/thread.hpp>
 
#include <cfloat>
#include <pcl/visualization/point_cloud_handlers.h>
#include <pcl/visualization/histogram_visualizer.h>
#include <vtkPolyDataReader.h>
#include <pcl/visualization/keyboard_event.h>
 
using namespace Eigen;
using namespace pcl;
using namespace pcl::console;
using namespace pcl::io;
 
/************************************************************************/
cs