|
Hello all,
I am trying to rosmake the Correpsondence Grouping Tutorial using the ros-fuerte-perception-pcl-fuerte-unstable package from ROS. I changed over all the namespaces, includes, and manifest.xml depends but I get a lot of compiling errors that seem to stem from the recognition module: /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/features/shot_omp.h:281:65: warning: ‘SHOT’ is deprecated (declared at /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/impl/point_types.hpp:1002): USE SHOT352 FOR SHAPE AND SHOT1344 FOR SHAPE+COLOR INSTEAD [-Wdeprecated-declarations]
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/features/shot_omp.h:283:60: warning: ‘SHOT’ is deprecated (declared at /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/impl/point_types.hpp:1002): USE SHOT352 FOR SHAPE AND SHOT1344 FOR SHAPE+COLOR INSTEAD [-Wdeprecated-declarations]
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/features/shot_omp.h:284:60: warning: ‘SHOT’ is deprecated (declared at /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/impl/point_types.hpp:1002): USE SHOT352 FOR SHAPE AND SHOT1344 FOR SHAPE+COLOR INSTEAD [-Wdeprecated-declarations]
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/features/shot_omp.h: In constructor ‘pcl16::SHOTEstimationOMP<pcl16::PointXYZRGBA, PointNT, pcl16::SHOT, PointRFT>::SHOTEstimationOMP(bool, bool, unsigned int, int, int)’:
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/features/shot_omp.h:292:63: warning: ‘SHOT’ is deprecated (declared at /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/impl/point_types.hpp:1002): USE SHOT352 FOR SHAPE AND SHOT1344 FOR SHAPE+COLOR INSTEAD [-Wdeprecated-declarations]
In file included from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:43:0,
from /root/ros_workspace/my_pcl_tutorial/src/corr_match2.cpp:8:
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/correspondence_grouping.h: In member function ‘bool pcl16::CorrespondenceGrouping<PointModelT, PointSceneT>::initCompute()’:
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/correspondence_grouping.h:154:54: error: there are no arguments to ‘PCL_ERROR’ that depend on a template parameter, so a declaration of ‘PCL_ERROR’ must be available [-fpermissive]
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/correspondence_grouping.h:154:54: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/correspondence_grouping.h:160:54: error: there are no arguments to ‘PCL_ERROR’ that depend on a template parameter, so a declaration of ‘PCL_ERROR’ must be available [-fpermissive]
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/correspondence_grouping.h:166:76: error: there are no arguments to ‘PCL_ERROR’ that depend on a template parameter, so a declaration of ‘PCL_ERROR’ must be available [-fpermissive]
In file included from /root/ros_workspace/my_pcl_tutorial/src/corr_match2.cpp:8:0:
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h: At global scope:
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:54:23: error: variable ‘pcl16::recognition::PCL_EXPORTS pcl16::recognition::HoughSpace3D’ has initializer but incomplete type
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:54:23: warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x [enabled by default]
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:57:7: error: expected primary-expression before ‘public’
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:57:7: error: expected ‘}’ before ‘public’
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:57:7: error: expected ‘,’ or ‘;’ before ‘public’
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void* pcl16::recognition::operator new [](size_t)’ may not be declared within a namespace
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void pcl16::recognition::operator delete(void*)’ may not be declared within a namespace
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void pcl16::recognition::operator delete [](void*)’ may not be declared within a namespace
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void* pcl16::recognition::operator new(size_t, void*)’ may not be declared within a namespace
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void pcl16::recognition::operator delete(void*, void*)’ may not be declared within a namespace
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void* pcl16::recognition::operator new(size_t, const std::nothrow_t&)’ may not be declared within a namespace
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:59:9: error: ‘void pcl16::recognition::operator delete(void*, const std::nothrow_t&)’ may not be declared within a namespace
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:67:123: error: expected constructor, destructor, or type conversion before ‘;’ token
In file included from /root/ros_workspace/my_pcl_tutorial/src/corr_match2.cpp:8:0:
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:104:7: error: expected unqualified-id before ‘protected’
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:144:56: error: expected template-name before ‘<’ token
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:144:56: error: expected ‘{’ before ‘<’ token
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:144:56: error: expected unqualified-id before ‘<’ token
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl16/include/pcl-1.6/pcl16/recognition/cg/hough_3d.h:513:1: error: expected declaration before ‘}’ token
make[3]: *** [CMakeFiles/corr_match2.dir/src/corr_match2.o] Error 1
make[3]: Leaving directory `/root/ros_workspace/my_pcl_tutorial/build'
make[2]: *** [CMakeFiles/corr_match2.dir/all] Error 2
make[2]: Leaving directory `/root/ros_workspace/my_pcl_tutorial/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/ros_workspace/my_pcl_tutorial/build'
Does anyone know what these error mean? Is there something wrong with the ros-fuerte-perception-pcl-fuerte-unstable package? Kind Regards, Martin |
|
Administrator
|
Martin,
Where did you take that stack from? Cheers, Radu. -- http://openperception.org On 09/04/2012 03:57 PM, MartinW wrote: > Hello all, > > > I am trying to rosmake the > http://www.pointclouds.org/documentation/tutorials/correspondence_grouping.php#correspondence-grouping > Correpsondence Grouping Tutorial using the > /ros-fuerte-perception-pcl-fuerte-unstable / package from ROS. I changed > over all the namespaces, includes, and manifest.xml depends but I get a lot > of compiling errors that seem to stem from the recognition module: > > > > > > Does anyone know what these error mean? Is there something wrong with the > ros-fuerte-perception-pcl-fuerte-unstable package? > > > Kind Regards, > Martin > > > > -- > View this message in context: http://www.pcl-users.org/Correspondence-Grouping-Tutorial-ROS-tp4021994.html > Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com. > _______________________________________________ > [hidden email] / http://pointclouds.org > http://pointclouds.org/mailman/listinfo/pcl-users > [hidden email] / http://pointclouds.org http://pointclouds.org/mailman/listinfo/pcl-users |
|
Hey Radu,
I used "apt-get install ros-fuerte-perception-pcl-fuerte-unstable" from Mac's reply in my other forum post: "On Sat, Sep 1, 2012 at 4:43 PM, Radu B. Rusu <[hidden email]> wrote: > As far as I know, PCL 1.6 works just fine in ROS. I'm not sure if my > colleagues already released ROS debian packages for it We have: ros-fuerte-perception-pcl-fuerte-unstable. That package provides a version of pcl 1.6.0 with everything moved into the pcl16 namespace (and the include directory moved). So #include "pcl/point_cloud.h" becomes #include "pcl16/point_cloud.h" and pcl::PointCloud<pcl::PointXYZRGB> becomes pcl16::PointCloud<pcl16::PointXYZRGB>. --M" Regards, Martin |
|
Administrator
|
Oh ok, got it. And thanks to Mac for creating that Debian package ;)
However, there is one small problem. You're not using PCL 1.6 but a trunk version around the time when PCL 1.6 was under development. PCL 1.6 does not contain the recognition module as it didn't reach maturity yet and is thus considered to be unstable. One solution to be able to help you, would be to give a newer version of trunk a try, just so we are looking at the same code, perhaps using the http://svn.pointclouds.org/ros/trunk/perception_pcl_fuerte_unstable/ stack. Please note that this will create a pcl17 and pcl17_ros package. Cheers, Radu. -- http://openperception.org On 09/04/2012 04:38 PM, MartinW wrote: > Hey Radu, > > > I used "apt-get install ros-fuerte-perception-pcl-fuerte-unstable" from > Mac's reply in my other forum post: > > "On Sat, Sep 1, 2012 at 4:43 PM, Radu B. Rusu <[hidden email]> wrote: >> As far as I know, PCL 1.6 works just fine in ROS. I'm not sure if my >> colleagues already released ROS debian packages for it > > We have: ros-fuerte-perception-pcl-fuerte-unstable. > > That package provides a version of pcl 1.6.0 with everything moved > into the pcl16 namespace (and the include directory moved). > > So #include "pcl/point_cloud.h" becomes #include "pcl16/point_cloud.h" > and pcl::PointCloud<pcl::PointXYZRGB> becomes > pcl16::PointCloud<pcl16::PointXYZRGB>. > > --M" > > Regards, > Martin > > > > -- > View this message in context: http://www.pcl-users.org/Correspondence-Grouping-Tutorial-ROS-tp4021994p4021998.html > Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com. > _______________________________________________ > [hidden email] / http://pointclouds.org > http://pointclouds.org/mailman/listinfo/pcl-users > [hidden email] / http://pointclouds.org http://pointclouds.org/mailman/listinfo/pcl-users |
|
Hey Radu,
I downloaded the perception_pcl_fuerte_unstable package in my /stacks folder using "svn co http://svn.pointclouds.org/ros/trunk/perception_pcl_fuerte_unstable/" But how do I make the unstable package so that I can use the new files? I can't seem to find the recognition module in the pcl17 and pcl17_ros packages. Kind Regards, Martin |
|
Administrator
|
You need to type "make" in the pcl17 package, e.g.:
$ roscd pcl17 && make Cheers, Radu. -- http://openperception.org On 09/04/2012 05:08 PM, MartinW wrote: > Hey Radu, > > I downloaded the perception_pcl_fuerte_unstable package in my /stacks folder > using "svn co > http://svn.pointclouds.org/ros/trunk/perception_pcl_fuerte_unstable/" But > how do I make the unstable package so that I can use the new files? I can't > seem to find the recognition module in the pcl17 and pcl17_ros packages. > > > Kind Regards, > Martin > > > > > > -- > View this message in context: http://www.pcl-users.org/Correspondence-Grouping-Tutorial-ROS-tp4021994p4022000.html > Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com. > _______________________________________________ > [hidden email] / http://pointclouds.org > http://pointclouds.org/mailman/listinfo/pcl-users > [hidden email] / http://pointclouds.org http://pointclouds.org/mailman/listinfo/pcl-users |
|
Thanks Radu!
I've compiled the pcl17 and pcl17_ros now :) Furthermore, I switched over the correpondence_grouping.cpp tutorial to the pcl17 namespace and it almost compiles error free! I just have one small error popping up now: /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:385:46: error: ‘PCL_VISUALIZER_POINT_SIZE’ is not a member of ‘pcl17::visualization’ /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:389:46: error: ‘PCL_VISUALIZER_POINT_SIZE’ is not a member of ‘pcl17::visualization’ Do you know where I might find this member? Regards, Martin |
|
I found where the member is, in common.h but it's called PCL17_VISUALIZER_POINT_SIZE not PCL_VISUALIZER_POINT_SIZE. So I changed over the name and now I have a whole lot more errors :-S
New errors: In function `main': /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:338: undefined reference to `pcl17::GeometricConsistencyGrouping<pcl17::PointXYZRGBA, pcl17::PointXYZRGBA>::recognize(std::vector<Eigen::Matrix<float, 4, 4, 0, 4, 4>, Eigen::aligned_allocator<Eigen::Matrix<float, 4, 4, 0, 4, 4> > >&, std::vector<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> >, std::allocator<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> > > >&)' /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:365: undefined reference to `pcl17::visualization::PCLVisualizer::PCLVisualizer(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:385: undefined reference to `pcl17::visualization::PCLVisualizer::setPointCloudRenderingProperties(int, double, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:389: undefined reference to `pcl17::visualization::PCLVisualizer::setPointCloudRenderingProperties(int, double, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:420: undefined reference to `pcl17::visualization::PCLVisualizer::spinOnce(int, bool)' /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:423: undefined reference to `pcl17::visualization::PCLVisualizer::~PCLVisualizer()' /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:325: undefined reference to `pcl17::Hough3DGrouping<pcl17::PointXYZRGBA, pcl17::PointXYZRGBA, pcl17::ReferenceFrame, pcl17::ReferenceFrame>::recognize(std::vector<Eigen::Matrix<float, 4, 4, 0, 4, 4>, Eigen::aligned_allocator<Eigen::Matrix<float, 4, 4, 0, 4, 4> > >&, std::vector<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> >, std::allocator<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> > > >&)' /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:423: undefined reference to `pcl17::visualization::PCLVisualizer::~PCLVisualizer()' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o: In function `__static_initialization_and_destruction_0': /usr/include/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()' /usr/include/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()' /usr/include/boost/system/error_code.hpp:216: undefined reference to `boost::system::system_category()' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o: In function `pcl17::search::OrganizedNeighbor<pcl17::PointXYZRGBA>::setInputCloud(boost::shared_ptr<pcl17::PointCloud<pcl17::PointXYZRGBA> const> const&, boost::shared_ptr<std::vector<int, std::allocator<int> > const> const&)': /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/search/organized.h:146: undefined reference to `pcl17::search::OrganizedNeighbor<pcl17::PointXYZRGBA>::estimateProjectionMatrix()' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1716NormalEstimationINS_12PointXYZRGBAENS_6NormalEEE[vtable for pcl17::NormalEstimation<pcl17::PointXYZRGBA, pcl17::Normal>]+0x38): undefined reference to `pcl17::NormalEstimation<pcl17::PointXYZRGBA, pcl17::Normal>::computeFeature(pcl17::PointCloud<pcl17::Normal>&)' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1719NormalEstimationOMPINS_12PointXYZRGBAENS_6NormalEEE[vtable for pcl17::NormalEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal>]+0x38): undefined reference to `pcl17::NormalEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal>::computeFeature(pcl17::PointCloud<pcl17::Normal>&)' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1715UniformSamplingINS_12PointXYZRGBAEEE[vtable for pcl17::UniformSampling<pcl17::PointXYZRGBA>]+0x38): undefined reference to `pcl17::UniformSampling<pcl17::PointXYZRGBA>::detectKeypoints(pcl17::PointCloud<int>&)' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1718SHOTEstimationBaseINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimationBase<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x28): undefined reference to `pcl17::SHOTEstimationBase<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::initCompute()' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1714SHOTEstimationINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x28): undefined reference to `pcl17::SHOTEstimationBase<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::initCompute()' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1714SHOTEstimationINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x38): undefined reference to `pcl17::SHOTEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::computeFeature(pcl17::PointCloud<pcl17::SHOT352>&)' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1714SHOTEstimationINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x48): undefined reference to `pcl17::SHOTEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::computePointSHOT(int, std::vector<int, std::allocator<int> > const&, std::vector<float, std::allocator<float> > const&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&)' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1717SHOTEstimationOMPINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x28): undefined reference to `pcl17::SHOTEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::initCompute()' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1717SHOTEstimationOMPINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x38): undefined reference to `pcl17::SHOTEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::computeFeature(pcl17::PointCloud<pcl17::SHOT352>&)' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1717SHOTEstimationOMPINS_12PointXYZRGBAENS_6NormalENS_7SHOT352ENS_14ReferenceFrameEEE[vtable for pcl17::SHOTEstimationOMP<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>]+0x48): undefined reference to `pcl17::SHOTEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::SHOT352, pcl17::ReferenceFrame>::computePointSHOT(int, std::vector<int, std::allocator<int> > const&, std::vector<float, std::allocator<float> > const&, Eigen::Matrix<float, -1, 1, 0, -1, 1>&)' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1734BOARDLocalReferenceFrameEstimationINS_12PointXYZRGBAENS_6NormalENS_14ReferenceFrameEEE[vtable for pcl17::BOARDLocalReferenceFrameEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::ReferenceFrame>]+0x38): undefined reference to `pcl17::BOARDLocalReferenceFrameEstimation<pcl17::PointXYZRGBA, pcl17::Normal, pcl17::ReferenceFrame>::computeFeature(pcl17::PointCloud<pcl17::ReferenceFrame>&)' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1715Hough3DGroupingINS_12PointXYZRGBAES1_NS_14ReferenceFrameES2_EE[vtable for pcl17::Hough3DGrouping<pcl17::PointXYZRGBA, pcl17::PointXYZRGBA, pcl17::ReferenceFrame, pcl17::ReferenceFrame>]+0x38): undefined reference to `pcl17::Hough3DGrouping<pcl17::PointXYZRGBA, pcl17::PointXYZRGBA, pcl17::ReferenceFrame, pcl17::ReferenceFrame>::clusterCorrespondences(std::vector<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> >, std::allocator<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> > > >&)' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl1728GeometricConsistencyGroupingINS_12PointXYZRGBAES1_EE[vtable for pcl17::GeometricConsistencyGrouping<pcl17::PointXYZRGBA, pcl17::PointXYZRGBA>]+0x38): undefined reference to `pcl17::GeometricConsistencyGrouping<pcl17::PointXYZRGBA, pcl17::PointXYZRGBA>::clusterCorrespondences(std::vector<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> >, std::allocator<std::vector<pcl17::Correspondence, Eigen::aligned_allocator<pcl17::Correspondence> > > >&)' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl176search17OrganizedNeighborINS_12PointXYZRGBAEEE[vtable for pcl17::search::OrganizedNeighbor<pcl17::PointXYZRGBA>]+0x48): undefined reference to `pcl17::search::OrganizedNeighbor<pcl17::PointXYZRGBA>::nearestKSearch(pcl17::PointXYZRGBA const&, int, std::vector<int, std::allocator<int> >&, std::vector<float, std::allocator<float> >&) const' CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o:(.rodata._ZTVN5pcl176search17OrganizedNeighborINS_12PointXYZRGBAEEE[vtable for pcl17::search::OrganizedNeighbor<pcl17::PointXYZRGBA>]+0x68): undefined reference to `pcl17::search::OrganizedNeighbor<pcl17::PointXYZRGBA>::radiusSearch(pcl17::PointXYZRGBA const&, double, std::vector<int, std::allocator<int> >&, std::vector<float, std::allocator<float> >&, unsigned int) const' collect2: ld returned 1 exit status make[3]: *** [../bin/correspondence_grouping] Error 1 I'm totally lost with these errors, does anyone have any clue what could be wrong? I have the pcl17 includes linked and all the names switched over from pcl to pcl17. Thanks in advance! Kind Regards, Martin |
|
Administrator
|
Martin,
Try this CMakeLists.txt: -------- cmake_minimum_required (VERSION 2.4.6) include ($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) rosbuild_init () set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) include_directories (${CMAKE_CURRENT_BINARY_DIR}) include_directories (src) find_package(Eigen REQUIRED) include_directories(${Eigen_INCLUDE_DIRS}) include_directories(${EIGEN_INCLUDE_DIRS}) find_package (VTK REQUIRED) include_directories(${VTK_INCLUDE_DIRS}) link_directories(${VTK_LIBRARY_DIRS}) # ---[ Point Cloud Library - Transforms rosbuild_add_executable (testpcl src/correspondence_grouping.cpp) target_link_libraries (testpcl vtkCommon vtkRendering) ------ And svn up in the pcl17 package. Cheers, Radu. -- http://openperception.org On 09/07/2012 11:39 AM, MartinW wrote: > I found where the member is, in common.h but it's called > PCL17_VISUALIZER_POINT_SIZE not PCL_VISUALIZER_POINT_SIZE. So I changed over > the name and now I have a whole lot more errors :-S > > New errors: > > > > I'm totally lost with these errors, does anyone have any clue what could be > wrong? I have the pcl17 includes linked and all the names switched over from > pcl to pcl17. Thanks in advance! > > > Kind Regards, > Martin > > > > -- > View this message in context: http://www.pcl-users.org/Correspondence-Grouping-Tutorial-ROS-tp4021994p4022087.html > Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com. > _______________________________________________ > [hidden email] / http://pointclouds.org > http://pointclouds.org/mailman/listinfo/pcl-users > [hidden email] / http://pointclouds.org http://pointclouds.org/mailman/listinfo/pcl-users |
|
Hey Radu,
I made those changes to the CMakeLists.txt and svn updated the pcl17 folder and it cleared up a lot of the errors. Now I am just getting what appears to be a linker error: /usr/bin/ld: CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o: undefined reference to symbol 'pcl17::console::parse_argument(int, char**, char const*, float&)' /usr/bin/ld: note: 'pcl17::console::parse_argument(int, char**, char const*, float&)' is defined in DSO /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/lib/libpcl_common.so.1.7 so try adding it to the linker command line /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/lib/libpcl_common.so.1.7: could not read symbols: Invalid operation Is there a simple fix to this? I checked the parse.h file in the pcl17/console folder and these parse_argument functions are there. Kind Regards, Martin |
|
Hey mamoto,
I'm using Ubuntu to compile my pcl project and I don't quite understand what I should do from that link you posted. I believe I am supposed to link the libpcl_common.so.1.7 library in the CMakeLists.txt but I thought these libraries were already linked. Regards, Martin |
|
sorry!
i don't know you worked in ubuntu. i build pcl 1.7.0 success in win 8 and i think you need. i'm sory very much again!! |
|
Hey mamoto,
No problem at all. Thanks for trying to answer my question though! I've found the lib file I need to link in the path perception_pcl_fuerte_unstable/pcl17/lib/libpcl_common.so.1.7 but I'm lost as to how to link it. I've tried adding "target_link_libraries(correspondence_grouping libpcl_common.so.1.7)" to my CMakeLists.txt but the compiler doesn't know where to find it ![]() Linking CXX executable ../bin/correspondence_grouping /usr/bin/ld: cannot find -llibpcl_common.so.1.7 Regards, Martin |
|
This post has NOT been accepted by the mailing list yet.
Hey Martin,
Came across your post after having similar problems with the unstable version of pcl17 in ROS. Adding "target_link_libraries(whatever_project pcl_common)" worked for me. What is the proper way to get access to the PCL_LIBRARIES variable though using the unstable stack? Liz |
|
Hey Liz,
I tried adding that link but it didn't fix the error :( Here is my CMakeLists.txt cmake_minimum_required (VERSION 2.4.6)
include ($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
rosbuild_init ()
set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
include_directories (${CMAKE_CURRENT_BINARY_DIR})
include_directories (src)
find_package(Eigen REQUIRED)
include_directories(${Eigen_INCLUDE_DIRS})
include_directories(${EIGEN_INCLUDE_DIRS})
find_package (VTK REQUIRED)
include_directories(${VTK_INCLUDE_DIRS})
link_directories(${VTK_LIBRARY_DIRS})
# ---[ Point Cloud Library - Transforms
rosbuild_add_executable (correspondence_grouping src/correspondence_grouping.cpp)
target_link_libraries (correspondence_grouping vtkCommon vtkRendering)
target_link_libraries (correspondence_grouping pcl_common) And the rosmake warnings/errors that come up are: In file included from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/common/impl/io.hpp:45:0,
from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/common/io.h:488,
from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/io/file_io.h:42,
from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/io/pcd_io.h:44,
from /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:1:
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/point_types.h:56:0: warning: ignoring #pragma warning [-Wunknown-pragmas]
In file included from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/common/impl/io.hpp:45:0,
from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/common/io.h:488,
from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/io/file_io.h:42,
from /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/io/pcd_io.h:44,
from /root/ros_workspace/my_pcl_tutorial/src/correspondence_grouping.cpp:1:
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/include/pcl-1.7/pcl17/point_types.h:636:0: warning: ignoring #pragma warning [-Wunknown-pragmas]
Linking CXX executable ../bin/correspondence_grouping
/usr/bin/ld: CMakeFiles/correspondence_grouping.dir/src/correspondence_grouping.o: undefined reference to symbol 'pcl17::console::parse_argument(int, char**, char const*, float&)'
/usr/bin/ld: note: 'pcl17::console::parse_argument(int, char**, char const*, float&)' is defined in DSO /opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/lib/libpcl_common.so.1.7 so try adding it to the linker command line
/opt/ros/fuerte/stacks/perception_pcl_fuerte_unstable/pcl17/lib/libpcl_common.so.1.7: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[3]: *** [../bin/correspondence_grouping] Error 1
Thank you for taking time to post and help me! Kind Regards, Martin |
|
Hello all,
I figured out the error!! I was using both the pcl and pcl17 depend packages in my manifest.xml this created the error. Everything compiles nicely now :) Thank you all for your help! Kind Regards, Martin |
| Powered by Nabble | Edit this page |
