解決ROS中PLUGINLIB_DECLARE_CLASS錯誤


catkin_make編譯ROS中pointcloud_to_laserscan模塊報

error: expected constructor, destructor, or type conversion before ‘(’ token
  241 | PLUGINLIB_DECLARE_CLASS(pointcloud_to_laserscan, PointCloudToLaserScanNodelet, pointcloud_to_laserscan::PointCloudToLaserScanNodelet, nodelet::Nodelet);
      |                        ^
make[2]: *** [CMakeFiles/pointcloud_to_laserscan.dir/build.make:63:CMakeFiles/pointcloud_to_laserscan.dir/src/pointcloud_to_laserscan_nodelet.cpp.o] 錯誤 1
make[1]: *** [CMakeFiles/Makefile2:1677:CMakeFiles/pointcloud_to_laserscan.dir/all] 錯誤 2
make: *** [Makefile:141:all] 錯誤 2

錯誤。

解決方法:

將該處代碼修改為:

PLUGINLIB_EXPORT_CLASS(pointcloud_to_laserscan::PointCloudToLaserScanNodelet, nodelet::Nodelet);

注意原始代碼中的宏是PLUGINLIB_DECLARE_CLASS,而修改后的是PLUGINLIB_EXPORT_CLASS。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM