Saturday 15 September 2012

linker - Can not link to pcl library. -



linker - Can not link to pcl library. -

the next code:

#include <ros/ros.h> #include <pcl_ros/point_cloud.h> #include <pcl/point_types.h> #include <boost/foreach.hpp> typedef pcl::pointcloud<pcl::pointxyz> pointcloud; void callback(const pointcloud::constptr& msg) { printf ("cloud: width = %d, height = %d\n", msg->width, msg->height); boost_foreach (const pcl::pointxyz& pt, msg->points) printf ("\t(%f, %f, %f)\n", pt.x, pt.y, pt.z); } int main(int argc, char** argv) { ros::init(argc, argv, "sub_pcl"); ros::nodehandle nh; ros::subscriber sub = nh.subscribe<pointcloud>("points2", 1, callback); ros::spin(); }

which default illustration taken here

my cmake:

cmake_minimum_required(version 2.6 fatal_error) find_package(pcl 1.3 required components mutual io) include_directories(${pcl_include_dirs}) link_directories(${pcl_library_dirs}) add_definitions(${pcl_definitions}) target_link_libraries(${project_name} ${pcl_common_libraries} ${pcl_io_libraries})

which exact configuration recommended on pcl official website

i still next linking error:

cmakefiles/apsp_manifold.dir/src/apsp_manifold.cpp.o: in function `void pcl::detail::fieldmapper<pcl::pointxyz>::operator()<pcl::fields::z>()': /usr/include/pcl-1.7/pcl/conversions.h:106: undefined reference `pcl::console::print(pcl::console::verbosity_level, char const*, ...)' cmakefiles/apsp_manifold.dir/src/apsp_manifold.cpp.o: in function `void pcl::detail::fieldmapper<pcl::pointxyz>::operator()<pcl::fields::y>()': /usr/include/pcl-1.7/pcl/conversions.h:106: undefined reference `pcl::console::print(pcl::console::verbosity_level, char const*, ...)' cmakefiles/apsp_manifold.dir/src/apsp_manifold.cpp.o: in function `void pcl::detail::fieldmapper<pcl::pointxyz>::operator()<pcl::fields::x>()': /usr/include/pcl-1.7/pcl/conversions.h:106: undefined reference `pcl::console::print(pcl::console::verbosity_level, char const*, ...)'

what have above described error , how can remove it?

just guess, maybe problem not required components included.

this how link pcl:

find_package(pcl required) include_directories( ... ${pcl_include_dirs}) ... target_link_libraries( ... ${pcl_libraries})

linker cmake point-cloud-library ros

No comments:

Post a Comment