[ros-users] pcl temlatization compile issue?

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: Adam Leeper
Date:  
To: ros-users
Subject: [ros-users] pcl temlatization compile issue?
Hi all-

I'm having some trouble compiling something with pcl.

I have a function that looks like this:

vector<pcl::PointCloud<pcl::PointXYZ> >
segment_objects(pcl::PointCloud<pcl::PointXYZ> cloud)
{
... stuff ..
}

If I keep it within my main .cpp file everything compiles fine. But then I
made a utilities.h/.cpp files and put segment_objects in there, and now it
complains about multiple definitions of point_cloud::traits. There is a long
list of them, but it only complains about those (point_cloud::traits),
nothing else.

CMakeFiles/bigg_dynamic.dir/src/bigg_dynamic.o:(.rodata+0x106): multiple
definition of `point_cloud::traits::name<pcl::PointXYZRGBA,
point_cloud::fields::x>::value'
CMakeFiles/bigg_dynamic.dir/src/utilities.o:(.rodata+0x6): first defined
here
CMakeFiles/bigg_dynamic.dir/src/bigg_dynamic.o:(.rodata+0x108): multiple
definition of `point_cloud::traits::name<pcl::PointXYZRGBA,
point_cloud::fields::y>::value'
CMakeFiles/bigg_dynamic.dir/src/utilities.o:(.rodata+0x8): first defined
here

I can't see any reason this shouldn't work, unless I am missing something
about the templatization of pcl that might be screwing something up...

There are several other helper functions defined in these files that compile
just fine and it doesn't complain about redfinitions, except these functions
use only opencv.

Any help is appreciated!

--Adam



Adam Leeper
Stanford University

719.358.3804