CMake 找不到 ROS 包



我想实现的

我打算实现(http://ros-developer.com/2017/05/15/object-recognition-and-6dof-pose-estimation-with-pcl-pointcloud-and-ros/(但是,在CMake期间发生以下错误: 如果有可以理解解决方案的人,请教。

错误消息

CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
Could not find a package configuration file provided by "ecl_geometry" with
any of the following names:
ecl_geometryConfig.cmake
ecl_geometry-config.cmake
Add the installation prefix of "ecl_geometry" to CMAKE_PREFIX_PATH or set
"ecl_geometry_DIR" to a directory containing one of the above files.  If
"ecl_geometry" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:6 (find_package)
Could not find the required component 'ecl_geometry'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by "ecl_geometry" with
any of the following names:
ecl_geometryConfig.cmake
ecl_geometry-config.cmake
Add the installation prefix of "ecl_geometry" to CMAKE_PREFIX_PATH or set
"ecl_geometry_DIR" to a directory containing one of the above files.  If
"ecl_geometry" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:6 (find_package)
CMake Error in CMakeLists.txt:
No cmake_minimum_required command is present.  A line of code such as
cmake_minimum_required(VERSION 3.5)
should be added at the top of the file.  The version specified may be lower
if you wish to support older CMake versions for this project.  For more
information run "cmake --help-policy CMP0000".

CMakeList

project(tracker)
set(CMAKE_BUILD_TYPE Release)
set(CMAKE_CXX_FLAGS “-std=c++0x ${CMAKE_CXX_FLAGS}”)
find_package(catkin REQUIRED COMPONENTS ecl_geometry roscpp rospy tf image_transport cv_bridge moveit_ros_planning_interface moveit_msgs moveit_planners_ompl moveit_ros_move_group moveit_ros_planning dynamic_reconfigure)
find_package(PCL 1.7 REQUIRED COMPONENTS
common
octree
io
kdtree
search
sample_consensus
filters
2d
features
registration
geometry
visualization
outofcore
surface
keypoints
ml
segmentation
recognition
people
tracking
stereo
)
MESSAGE(“PCL_FOUND:” ${PCL_FOUND})
MESSAGE(“PCL_INCLUDE_DIRS:” ${PCL_LIBRARY_DIRS})
MESSAGE(“PCL_LIBRARIES:” ${PCL_LIBRARIES})
MESSAGE(“PCL_LIBRARY_DIRS:” ${PCL_LIBRARY_DIRS})
MESSAGE(“PCL_VERSION:” ${PCL_VERSION})
MESSAGE(“PCL_COMPONENTS:” ${PCL_COMPONENTS})
MESSAGE(“PCL_DEFINITIONS:” ${PCL_DEFINITIONS})
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
find_package(HDF5 REQUIRED )
add_definitions(${HDF5_DEFINITIONS})
include_directories(${HDF5_INCLUDE_DIRS})
link_directories(${HDF5_LIBRARIES})
include_directories( ${catkin_INCLUDE_DIRS})
add_executable(tracking_object sample.cpp)
target_link_libraries(tracking_object ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${PCL_TRACKING_LIBRARIES} ${PCL_COMMON_LIBRARIES} ${PCL_IO_LIBRARIES} ${PCL_SEARCH_LIBRARIES} ${PCL_SAMPLE_CONSENSUS_LIBRARIES} ${PCL_FILTERS_LIBRARIES} ${PCL_APPS_LIBRARIES})

实施环境

优麒麟 16.04LTS

CMake 3.11.2

ROS 动力学

您的构建系统找不到 ecl-geometry 包。可能是因为它没有安装。

尝试:

sudo apt-get install ros-kinetic-ecl-geometry

这应该可以解决您的问题。