2016-05-17 20 views
1

これまでのところcv_bridgeは使用できません。opencvとROSインディゴ(catkin)とCMake(ubuntu 14.04)をリンクする方法

cmake_minimum_required(VERSION 2.8.3) 
project(XY) 

find_package(catkin REQUIRED COMPONENTS 
cv_bridge 
image_transport 
roscpp 
rospy 
std_msgs 
) 

#set(OpenCV_DIR "/usr/local/lib/opencv") 
find_package(OpenCV REQUIRED core imgproc highgui PATHS /home/polar/soft/lib/opencv/opencv-3.1.0/cmake) 
include_directories(${OpenCV_INCLUDE_DIRS}) 

if(OpenCV_FOUND) 
# include_directories(${Boost_INCLUDE_DIRS}) 
message("\n\n OpenCV found!!!! \n\n") 
endif() 

に(...?)このコンパイルエラー

CMake Error at /opt/ros/indigo/share/cv_bridge/cmake/cv_bridgeConfig.cmake:106 (message): 
    Project 'cv_bridge' specifies '/usr/include/opencv' as an include dir, 
    which is not found. It does neither exist as an absolute directory nor in 
    '/opt/ros/indigo//usr/include/opencv'. Ask the maintainer .. 

は私CMakeので問題になることが問題の原因上の任意のアイデアを取得し、どのようにそれをしてください解決することになっていますか? は、私が過去にROSのフエルテを使用して、このような問題が発生したことはなかった....

+0

これを 'package.xml'に追加しましたか? ' cv_bridge' ' cv_bridge ' – Vtik

+0

はい。実際には、パッケージ – Courier

+0

が奇妙な、私はこの答えを試してみてくださいcv_bridgeの必要性を指定しました:http://stackoverflow.com/questions/36613363/ros-cant-find-opencv-the-path-usr-local – Vtik

答えて

1

は最後に、私は

set(cv_bridge_FOUND_CATKIN_PROJECT TRUE) 
if(NOT "include;/usr/local/include/opencv" STREQUAL " ") 
    set(cv_bridge_INCLUDE_DIRS "") 
    set(_include_dirs "/usr/local/include/opencv;/usr/include;/usr/local/include") 

set(cv_bridge_FOUND_CATKIN_PROJECT TRUE) 

if(NOT "include;/usr/include/opencv;/usr/include " STREQUAL " ") 
    set(cv_bridge_INCLUDE_DIRS "") 
    set(_include_dirs "include;/usr/include/opencv;/usr/include") 

を変更し、ファイル/opt/ros/indigo/share/cv_bridge/cmake/cv_bridgeConfig.cmake

を修正しました実際にはusr/include/usr/local/includeに変更しました。これは私の問題を解決しました。しかし私はそれを正しい方法とは思わない(?)。

+0

make [2]:***ターゲットを作るためのルールはありません。 '/usr/lib/x86_64-linux-gnu/libopencv_ts.so.2.4 .8 '、/home/johann/catkin_ws/devel/lib/libimage_converter.soで必要です。やめる。あなたのステップに従った後、あなたは何か類似していますか? – JTIM

+0

私は今までこの問題を抱えていました。私はすべてを拭き取り、opencvを再インストールしました。あなたはsourceからopencvとros(full desktop)から来るopencvの両方をインストールしましたか?その場合は、rosを削除し、スタンドアロンのopencvをアンインストールします(sudo make uninstall、make cleanなど)。 ROSとopencvを再インストールしてください。しかし、opencvを './configure --prefix = DIFF_PATH'でインストールしてください。ここで' DIFF_PATH'は '/ usr/* 'とは異なるはずです。システムの混乱を避けるためです。例えば。私は通常 'DIFF_PATH =〜/ soft/lib/opencv/build'を設定します。お役に立てれば。 – Courier