/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/amov/catkin_ws/src/ORB-SLAM3/Examples/ROS/ORB_SLAM3/build/CMakeFiles/CMakeOutput.log".
时间: 2023-07-06 18:39:29 浏览: 309
jetson agx xavier +darknet ros——编译出错
根据错误提示,这个问题可能是由于在 ROS 的 `CMakeLists.txt` 文件中使用了旧的 `rosbuild` 命令导致的。因为在 ROS Kinetic 版本之后,ROS 已经开始使用 `catkin` 构建系统,而不是 `rosbuild` 系统。
如果你正在使用 `rosbuild`,你需要将 `CMakeLists.txt` 文件中的 `rosbuild_init()` 命令替换为 `catkin_package()` 命令,并且将 `rosbuild_genmsg()`、`rosbuild_gensrv()` 和 `rosbuild_add_executable()` 等命令替换为 `add_message_files()`、`add_service_files()` 和 `add_executable()` 等命令。
在你的具体问题中,错误提示显示了 `/opt/ros/melodic/share/ros/core/rosbuild/public.cmake:177`,这意味着你正在使用 ROS Melodic 版本,并且你的 `CMakeLists.txt` 文件中使用了旧的 `rosbuild` 命令。因此,你需要修改 `CMakeLists.txt` 文件。
你需要将 `CMakeLists.txt` 文件中的以下命令:
```
rosbuild_init()
```
替换为:
```
cmake_minimum_required(VERSION 2.8.3)
project(your_package_name)
find_package(catkin REQUIRED COMPONENTS
roscpp
std_msgs
)
catkin_package()
include_directories(
${catkin_INCLUDE_DIRS}
)
add_executable(your_executable_name src/your_source_file.cpp)
target_link_libraries(your_executable_name
${catkin_LIBRARIES}
)
```
替换后,重新运行 `catkin_make` 命令即可。
阅读全文