ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Difficulty using pcl tutorial in ros

asked 2013-11-22 08:28:04 -0500

aespielberg gravatar image

updated 2013-11-25 05:10:28 -0500

Hi,

I am trying to use pcl in ros, on groovy (ubuntu 12.04 64 bit). I have followed the tutorial here for setting up a package, and have copy-pasted the code verbatim from here (Template Alignment).

Unfortunately, when I try to catkin_make this tutorial, I get a very hard to parse output, with references to tokens I'm not even using (maybe they're in the includes?):

Can someone explain to me how to interpret this output for future reference, and explain to me why it's not compiling?

Edit: I've added my CMakeLists.txt and package.xml files. Example2.cpp is what I'm trying to build as an executable. I've noticed there's a pcl-1.6 folder under ROS that it looks like I might need to include, but I don't know how to do this without it barking at me.

CMakeLists.txt:

cmake_minimum_required(VERSION 2.8.3)
project(my_pcl_tutorial)

## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS
  pcl
  pcl_ros
  roscpp
  sensor_msgs
)

## System dependencies are found with CMake's conventions
# find_package(Boost REQUIRED COMPONENTS system)


## Uncomment this if the package has a setup.py. This macro ensures
## modules and global scripts declared therein get installed
## See <a href="http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html">http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html</a>
# catkin_python_setup()

#######################################
## Declare ROS messages and services ##
#######################################

## Generate messages in the 'msg' folder
# add_message_files(
#   FILES
#   Message1.msg
#   Message2.msg
# )

## Generate services in the 'srv' folder
# add_service_files(
#   FILES
#   Service1.srv
#   Service2.srv
# )

## Generate added messages and services with any dependencies listed here
# generate_messages(
#   DEPENDENCIES
#   sensor_msgs
# )

###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## INCLUDE_DIRS: uncomment this if you package contains header files
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES my_pcl_tutorial
#  CATKIN_DEPENDS pcl pcl_ros roscpp sensor_msgs
#  DEPENDS system_lib
)

###########
## Build ##
###########

## Specify additional locations of header files
## Your package locations should be listed before other locations
# include_directories(include)
include_directories(
  ${catkin_INCLUDE_DIRS}
)

## Declare a cpp library
# add_library(my_pcl_tutorial
#   src/${PROJECT_NAME}/my_pcl_tutorial.cpp
# )

## Declare a cpp executable
# add_executable(my_pcl_tutorial_node src/my_pcl_tutorial_node.cpp)
add_executable(example src/example.cpp)
add_executable(example2 src/example2.cpp)
target_link_libraries(example ${catkin_LIBRARIES})

## Add cmake target dependencies of the executable/library
## as an example, message headers may need to be generated before nodes
# add_dependencies(my_pcl_tutorial_node my_pcl_tutorial_generate_messages_cpp)

## Specify libraries to link a library or executable target against
# target_link_libraries(my_pcl_tutorial_node
#   ${catkin_LIBRARIES}
# )

#############
## Install ##
#############

# all install targets should use catkin DESTINATION variables
# See <a href="http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html">http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html</a>

## Mark executable scripts (Python etc.) for installation
## in contrast to setup.py, you can choose the destination
# install(PROGRAMS
#   scripts/my_python_script
#   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2013-11-22 08:51:46 -0500

William gravatar image

updated 2013-11-25 06:24:22 -0500

That is a link error, meaning you are using symbols in your headers which you are not linking against. From the symbols which are missing I would guess you are not linking against PCL correctly. You should post your package.xml and CMakeLists.txt.

EDIT:

You never call target_link_libraries(example2 ${catkin_LIBRARIES}), so that is why you get linker errors.

edit flag offensive delete link more

Comments

I've added the requested documents.

aespielberg gravatar image aespielberg  ( 2013-11-25 05:11:05 -0500 )edit

Wow, yeah, I really messed that one up, huh? Thanks!

aespielberg gravatar image aespielberg  ( 2013-12-01 08:36:35 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2013-11-22 08:28:04 -0500

Seen: 1,207 times

Last updated: Nov 25 '13