同样针对ORB-SLAM2也有效:
编译ORB的ROS版本经常出现这个问题:
CMake Error at /opt/ros/melodic/share/ros/core/rosbuild/private.cmake:99 (message):
[rosbuild] rospack found package "ORB_SLAM3" at "", but the current
directory is "/home/tzy/ORB3/ORB_SLAM3_detailed_comments/Examples/ROS/ORB_SLAM3".
You should double-check your ROS_PACKAGE_PATH to ensure that packages are
found in the correct precedence order.
Call Stack (most recent call first):
/opt/ros/melodic/share/ros/core/rosbuild/public.cmake:177 (_rosbuild_check_package_location)
CMakeLists.txt:4 (rosbuild_init)
-- Configuring incomplete, errors occurred!
See also "/home/tzy/ORB3/ORB_SLAM3_detailed_comments/Examples/ROS/ORB_SLAM3/build/CMakeFiles/CMakeOutput.log".
See also "/home/tzy/ORB3/ORB_SLAM3_detailed_comments/Examples/ROS/ORB_SLAM3/build/CMakeFiles/CMakeError.log".
Makefile:724: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
而且检查发现.bashrc文件中的路径也是正确添加了,但依然报错
报错原因:
路径添加在 source ~/catkin_ws/devel/setup.bash 等之前了,导致路径被覆盖了,如下:
解决方法:
打开bashrc
gedit ~/.bashrc
将路径尽量添加在最下面(至少在 source 后),然后保存退出,
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/tzy/ORB3/ORB_SLAM3_detailed_comments/Examples/ROS
之后在终端source一下
source ~/.bashrc
然后再去编译就不会报错了
./build_ros.sh