2016-07-05 12 views
0

catkin_makeを含むROSプロジェクトをコンパイルしようとしています。このプロジェクトには、とりわけopencv行列をcv_bridgeというros行列に変換するツールが含まれています。私catkin_wsをコンパイルしようとしたときしかし、私は次のエラーを取得しています:ターゲット "cv_bridge-utest"にリンクライブラリを指定できません。ROSコンパイルエラー

CMake Error at cv_bridge/test/CMakeLists.txt:7 (target_link_libraries): 
    Cannot specify link libraries for target "cv_bridge-utest" which is not 
    built by this project. 

誰もがこのエラーを知っていますか?私はROSには全く新しいので、catkin_ws/srcディレクトリ全体をコンパイルするようにROSに指示する方法はわかりません。後者のフォルダには、すべての必要なフォルダが存在する必要があります。 catkin_ws/src/cv_bridgeもありますが、間違った順序でフォルダをコンパイルしようとしているかもしれません...

答えて

0

あなたのCMakeListsにあなたが書いたものは分かりません。エラーがあっ産むと仮定すると、あなたはこのようにCMakeLists.txtを使用することができます:あなただけに行かなければならフォルダをコンパイルするには

<build_depend>opencv2</build_depend> 
    <build_depend>cv_bridge</build_depend> 

    <run_depend>opencv2</run_depend> 
    <run_depend>cv_bridge</run_depend> 

:あなたのpackage.xmlで

cmake_minimum_required(VERSION 2.8.3) 
project(your_project) 

find_package(catkin REQUIRED COMPONENTS 
    roscpp 
    rospy 
    std_msgs 
    cv_bridge 
) 

find_package(OpenCV REQUIRED) 

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

catkin_package() 

include_directories(
    ${catkin_INCLUDE_DIRS} 
    ${OpenCV_INCLUDE_DIRS} 
    include 
) 


add_executable(executable src/your_file.cpp) 
target_link_libraries(executable ${catkin_LIBRARIES} ${OpenCV_LIBRARIES}) 

をこれらの行を追加します。あなたのcatkinディレクトリとタイプ:catkin_make 正しい方法であなたのワークスペースを構築していれば、エラーなしでコンパイルする必要があります。

+0

実際に私のcv_bridgeパッケージが壊れている可能性があります。ローカルでコンパイルしたOpenCV 3.0.0と、OpenCVのシステムとは異なるOpenCV 3.0.0を使用する必要があります。だから私は 'CMakeLists.txt'をローカルにインストールされたopencvを指すように変更しようとしました。しかし、私はcv_bridgeがまだグローバルopencvバージョン(2.4.8 - >デフォルトバージョンのUbuntu 14.04)を見ていると思います。 cv_bridgeを再インストールしてローカル版のopencvを指すことはできますか? – mcExchange

+0

私は端末にこれをタイプしてcv_bridgeをインストールしました: 'cd〜/ Downloads /; wget https://github.com/Itseez/opencv/archive/2.4.12.zip -O opencv_2.4.12.zip; unzip opencv_2.4.12.zip; mv opencv-2.4.12〜/ workspace/opencv; cd〜/ workspace/opencv; mkdir build; cd build; cmake -D CMAKE_BUILD_TYPE = RELEASE -D WITH_OPENCL = OFF ..; make -j 8; sudo make install; ' – Fabiobreo

+0

私のROSインストールが壊れているようだし、回復できません。 'E:問題を修正することができない、あなたは壊れたパッケージを保持しています' ...しかし、物事は仮想マシンでコンパイルされています。とにかくありがとう – mcExchange

関連する問題