CMake 找不到 ROS 包

CMake can't find ROS package

我想实现的

正打算实现(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".

CMakeLists

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})

实施环境

Ubuntu 16.04LTS

CMake 3.11.2

ROS 动力学

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

尝试:

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

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