2016-07-29 124 views
0

編輯:好吧,所以我決定嘗試隨機的東西,我也rospy口述爲必需的組件。我從我的cmakelists文件中刪除了所有的OpenCV內容,現在它只是吐出了關於rospy...和std_msgs相同的處理方面的錯誤。我開始與ROS在這臺電腦上開始使用ROS教程,並且一切正常,直到這一點..ROS:找不到包配置文件

我知道很多人有這個問題,運行catkin_make/cmake和看到它沒有找到您的OpenCV的文件:

Could not find a package configuration file provided by "OpenCV" with any 
    of the following names: 

    OpenCVConfig.cmake 
    opencv-config.cmake 

而且這個錯誤,當我試圖只用roscpp,rospy等:

Could not find a package configuration file provided by "roscpp" with any 
    of the following names: 

roscppConfig.cmake 
roscpp-config.cmake 

這裏是我試過到目前爲止: 出口OpenCV_DIR, CMAKE_PREFIX_PATH等等人們在這裏建議的東西。仍然出現這個錯誤。 檢查以確保我已正確安裝OpenCV,使用IDMTEST,我發現一切都是。我可以使用與opencv蟒蛇完全沒有問題,等

除了從註釋Tsyvarev的解決方案: 如果是簡單find_package(OpenCV的),那麼任何應幫助:1. cmake的-DOpenCV_DIR =的/ usr /共享/ OpenCV .... 2. cmake -DCMAKE_PREFIX_PATH =/usr。 3.導出CMAKE_PREFIX_PATH =/usr。

我有位於這些.cmake文件: 在/ usr /共享/ OpenCV的 和 在/ usr/local/share下/ OpenCV的

不知道他們可能位於其他地方,試着做一個搜索質量它似乎僅僅是指向這兩個特定的文件夾

通過我的CMakeLists.txt文件去了,增加了目錄,目標庫等由.cmake文件

所決定我真的不知道此時該做什麼。

一些代碼/文件:

cmake_minimum_required(VERSION 2.8.3) 
project(briancv) 

## Find catkin macros and libraries 
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) 
## is used, also find other catkin packages 
find_package(catkin REQUIRED COMPONENTS 
    roscpp 
    rospy 
    std_msgs 
    message_generation 
) 

## System dependencies are found with CMake's conventions 
# find_package(Boost REQUIRED COMPONENTS system) 


## Uncomment this if the package has a setup.py. This macro ensures 
## modules and global scripts declared therein get installed 
## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html 
# catkin_python_setup() 

################################################ 
## Declare ROS messages, services and actions ## 
################################################ 

## To declare and build messages, services or actions from within this 
## package, follow these steps: 
## * Let MSG_DEP_SET be the set of packages whose message types you use in 
## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). 
## * In the file package.xml: 
## * add a build_depend tag for "message_generation" 
## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET 
## * If MSG_DEP_SET isn't empty the following dependency has been pulled in 
##  but can be declared for certainty nonetheless: 
##  * add a run_depend tag for "message_runtime" 
## * In this file (CMakeLists.txt): 
## * add "message_generation" and every package in MSG_DEP_SET to 
##  find_package(catkin REQUIRED COMPONENTS ...) 
## * add "message_runtime" and every package in MSG_DEP_SET to 
##  catkin_package(CATKIN_DEPENDS ...) 
## * uncomment the add_*_files sections below as needed 
##  and list every .msg/.srv/.action file to be processed 
## * uncomment the generate_messages entry below 
## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) 

## Generate messages in the 'msg' folder 
add_message_files(
    FILES 
    Num.msg 

) 

## Generate services in the 'srv' folder 
add_service_files(
    FILES 
    AddTwoInts.srv 
) 

## Generate actions in the 'action' folder 
# add_action_files(
# FILES 
# Action1.action 
# Action2.action 
#) 

## Generate added messages and services with any dependencies listed here 
generate_messages(
    DEPENDENCIES 
    std_msgs # Or other packages containing msgs 
) 

################################################ 
## Declare ROS dynamic reconfigure parameters ## 
################################################ 

## To declare and build dynamic reconfigure parameters within this 
## package, follow these steps: 
## * In the file package.xml: 
## * add a build_depend and a run_depend tag for "dynamic_reconfigure" 
## * In this file (CMakeLists.txt): 
## * add "dynamic_reconfigure" to 
##  find_package(catkin REQUIRED COMPONENTS ...) 
## * uncomment the "generate_dynamic_reconfigure_options" section below 
##  and list every .cfg file to be processed 

## Generate dynamic reconfigure parameters in the 'cfg' folder 
# generate_dynamic_reconfigure_options(
# cfg/DynReconf1.cfg 
# cfg/DynReconf2.cfg 
#) 

################################### 
## catkin specific configuration ## 
################################### 
## The catkin_package macro generates cmake config files for your package 
## Declare things to be passed to dependent projects 
## INCLUDE_DIRS: uncomment this if you package contains header files 
## LIBRARIES: libraries you create in this project that dependent projects also need 
## CATKIN_DEPENDS: catkin_packages dependent projects also need 
## DEPENDS: system dependencies of this project that dependent projects also need 
catkin_package(
    ... 
    CATKIN_DEPENDS message_runtime ... 
    ...) 
# INCLUDE_DIRS include 
# LIBRARIES beginner_tutorials 
# CATKIN_DEPENDS roscpp rospy 
# DEPENDS system_lib 


########### 
## Build ## 
########### 

## Specify additional locations of header files 
## Your package locations should be listed before other locations 
# include_directories(include) 
include_directories(
    ${catkin_INCLUDE_DIRS} 
) 

## Declare a C++ library 
# add_library(beginner_tutorials 
# src/${PROJECT_NAME}/beginner_tutorials.cpp 
#) 

## Add cmake target dependencies of the library 
## as an example, code may need to be generated before libraries 
## either from message generation or dynamic reconfigure 
# add_dependencies(beginner_tutorials ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 

## Declare a C++ executable 
# add_executable(beginner_tutorials_node src/beginner_tutorials_node.cpp) 

## Add cmake target dependencies of the executable 
## same as for the library above 
# add_dependencies(beginner_tutorials_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 

## Specify libraries to link a library or executable target against 
# target_link_libraries(beginner_tutorials_node 
# ${catkin_LIBRARIES} 
#) 

############# 
## Install ## 
############# 

# all install targets should use catkin DESTINATION variables 
# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html 

## Mark executable scripts (Python etc.) for installation 
## in contrast to setup.py, you can choose the destination 
# install(PROGRAMS 
# scripts/my_python_script 
# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 
#) 

## Mark executables and/or libraries for installation 
# install(TARGETS beginner_tutorials beginner_tutorials_node 
# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 
# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 
# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 
#) 

## Mark cpp header files for installation 
# install(DIRECTORY include/${PROJECT_NAME}/ 
# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 
# FILES_MATCHING PATTERN "*.h" 
# PATTERN ".svn" EXCLUDE 
#) 

## Mark other files for installation (e.g. launch and bag files, etc.) 
# install(FILES 
# # myfile1 
# # myfile2 
# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 
#) 

############# 
## Testing ## 
############# 

## Add gtest based cpp test target and link libraries 
# catkin_add_gtest(${PROJECT_NAME}-test test/test_beginner_tutorials.cpp) 
# if(TARGET ${PROJECT_NAME}-test) 
# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) 
# endif() 

## Add folders to be run by python nosetests 
# catkin_add_nosetests(test) 

此外,當我試圖通過Tsyvarev給出的選項1-3:

-- Using CATKIN_DEVEL_PREFIX: /home/camera/catkin_ws/src/briancv/devel 
-- Using CMAKE_PREFIX_PATH: /usr 
-- Using PYTHON_EXECUTABLE: /usr/bin/python 
-- Using Debian Python package layout 
-- Using empy: /usr/bin/empy 
-- Using CATKIN_ENABLE_TESTING: ON 
-- Call enable_testing() 
-- Using CATKIN_TEST_RESULTS_DIR: /home/camera/catkin_ws/src/briancv/test_results 
-- Found gtest sources under '/usr/src/gtest': gtests will be built 
-- Using Python nosetests: /usr/bin/nosetests-2.7 
-- catkin 0.6.18 
CMake Warning at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:76 (find_package): 
    Could not find a package configuration file provided by "roscpp" with any 
    of the following names: 

    roscppConfig.cmake 
    roscpp-config.cmake 

    Add the installation prefix of "roscpp" to CMAKE_PREFIX_PATH or set 
    "roscpp_DIR" to a directory containing one of the above files. If "roscpp" 
    provides a separate development package or SDK, be sure it has been 
    installed. 
Call Stack (most recent call first): 
    CMakeLists.txt:7 (find_package) 


-- Could not find the required component 'roscpp'. 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/indigo/share/catkin/cmake/catkinConfig.cmake:83 (find_package): 
    Could not find a package configuration file provided by "roscpp" with any 
    of the following names: 

    roscppConfig.cmake 
    roscpp-config.cmake 

    Add the installation prefix of "roscpp" to CMAKE_PREFIX_PATH or set 
    "roscpp_DIR" to a directory containing one of the above files. If "roscpp" 
    provides a separate development package or SDK, be sure it has been 
    installed. 
Call Stack (most recent call first): 
    CMakeLists.txt:7 (find_package) 


-- Configuring incomplete, errors occurred! 
See also "/home/camera/catkin_ws/src/briancv/CMakeFiles/CMakeOutput.log". 
See also "/home/camera/catkin_ws/src/briancv/CMakeFiles/CMakeError.log". 
+1

請提供您嘗試過的**代碼**。如果它是簡單的'find_package(OpenCV)',那麼任何應該幫助:1.'cmake -DOpenCV_DIR =/usr/share/OpenCV ...'。 2.'cmake -DCMAKE_PREFIX_PATH =/usr'。 3. export CMAKE_PREFIX_PATH =/usr。 – Tsyvarev

+0

添加了我的CMakeLists文件。嘗試了選項1-3,並在問題描述中粘貼了這些錯誤消息 – BAMercury

+0

因此,OpenCV問題消失了,不是嗎?其他問題'無法找到程序包配置文件'以類似的方式解決。 – Tsyvarev

回答

0
Could not find a package configuration file provided by "roscpp" with 
any of the following names: 

     roscppConfig.cmake 
     roscpp-config.cmake 

如果發生這種情況的ROS是依賴,它沒有安裝。從這裏安裝:http://wiki.ros.org/ROS/Installation並重復。