slam小白试跑港科大Fast-Planner,编译过程中遇到关于pcl_conversions、libnlopt.so、PLUGINLIB_DECLARE_CLASS的问题,解决办法如下
1.pcl_conversions
error
Could not find a package configuration file provided by “pcl_conversions” with any of the following names:
pcl_conversionsConfig.cmake
pcl_conversions-config.cmake
解决办法
sudo apt-get install ros-melodic-navigation`
sudo apt-get install ros-melodic-pcl-conversions
sudo apt-get install ros-melodicpcl-ros
印象中它会推荐你安装libvtk-dev ,就按它的提示安装,会让你卸载libvtk7-dev libvtk7-java libvtk7-jni libvtk7-qt-dev等依赖,换成ibvtk6-dev libvtk6-java libvtk6jni libvtk6-qt-dev
2.libnlopt.so
error
在/usr/local/lib中无法找到libnlopt.so文件,其实这个库被安装在/usr/lib/x86_64-linux-gnu
解决办法
打开新终端,进入该库的安装目录下,运行以下代码拷贝到/usr/local/lib
sudo cp libnlopt.so /usr/local/lib
执行后无提示
3.PLUGINLIB_DECLARE_CLASS
error
我报错的地方是so3_control_nodelet.cpp的PLUGINLIB_DECLARE_CLASS函数
PLUGINLIB_DECLARE_CLASS(so3_control, SO3ControlNodelet, SO3ControlNodelet,nodelet::Nodelet),在该程序的的最后一行 需要进行修改
我的路径/home/wuxin/HKslam/src/Fast-Planner/uav_simulator/so3_control/src/so3_control_nodelet.cpp
解决办法
改为PLUGINLIB_EXPORT_CLASS(SO3ControlNodelet,nodelet::Nodelet);