[ros-users] pcl temlatization compile issue?

トップ ページ
添付ファイル:
Eメールのメッセージ
+ (text/plain)
+ (text/html)
このメッセージを削除
このメッセージに返信
著者: Adam Leeper
日付:  
To: ros-users
題目: [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