CMake找不到ROS包

时间:2018-05-27 09:34:51

标签: cmake ubuntu-16.04 ros point-cloud-library

我想要实现的目标

我计划实现(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动力学

1 个答案:

答案 0 :(得分:1)

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

尝试:

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

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