ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
My guess is that you're not linking against pcl_visualization
. Here's a minimal program containing your code, along with a cmake recipe that compiles and links successfully for me under Kinetic on Ubuntu 18.04:
foo.cc:
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/visualization/pcl_visualizer.h>
int main(void)
{
pcl::PointCloud<pcl::PointXYZI>::Ptr to_show(new pcl::PointCloud<pcl::PointXYZI>);
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("viewer"));
viewer->setBackgroundColor (0, 0, 0);
viewer->addCoordinateSystem (1.0f);
pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZI> h1(to_show, 255, 0, 0);
viewer->addPointCloud(to_show, h1, "h1");
while(!viewer->wasStopped()){
viewer->spinOnce(100);
}
}
CMakeLists.txt:
cmake_minimum_required(VERSION 2.8.3)
project(foo)
find_package(catkin REQUIRED COMPONENTS
pcl_ros
)
include_directories(
${catkin_INCLUDE_DIRS}
)
add_executable(foo foo.cc)
target_link_libraries(foo
${catkin_LIBRARIES}
pcl_visualization
)