2011-07-07 1 views
1

誰かが私を助けてくれることを願っています。CMakeLists.txtにopencvライブラリを追加する方法がわからない

私はUbuntuで自分のプロジェクトをビルドするために単純なCMakeLists.txtを持っています。私はCMakeの2.8.1を使用していますし、現時点ではこれがコードです:

cmake_minimum_required(VERSION 2.4.6) 
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} /home/user/workspace) 
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 

# Set the build type. Options are: 
# Coverage  : w/ debug symbols, w/o optimization, w/ code-coverage 
# Debug   : w/ debug symbols, w/o optimization 
# Release  : w/o debug symbols, w/ optimization 
# RelWithDebInfo : w/ debug symbols, w/ optimization 
# MinSizeRel  : w/o debug symbols, w/ optimization, stripped binaries 
#set(ROS_BUILD_TYPE RelWithDebInfo) 

rosbuild_init() 
find_package(OpenCV 2) 

#set the default path for built executables to the "bin" directory 
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 
#set the default path for built libraries to the "lib" directory 
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 

#uncomment if you have defined messages 
#rosbuild_genmsg() 
#uncomment if you have defined services 
#rosbuild_gensrv() 

#common commands for building c++ executables and libraries 
#rosbuild_add_library(${PROJECT_NAME} src/example.cpp) 
#target_link_libraries(${PROJECT_NAME} another_library) 
#rosbuild_add_boost_directories() 
#rosbuild_link_boost(${PROJECT_NAME} thread) 
#rosbuild_add_executable(example examples/example.cpp) 
#target_link_libraries(example ${PROJECT_NAME}) 

include_directories(${CMAKE_SOURCE_DIR}/include 
            ${OpenCV_INCLUDE_DIRS}) 

rosbuild_add_executable(RosPubのsrc/paste.cpp) target_link_libraries(USB-1.0 $ {} OpenCV_LIBS openni_driver RosPub)

プロジェクトにopencvライブラリを追加する必要があります。私はそれらを追加しましたが、私はまだコードを稼働させることができません。そのは私にこのエラーを掲示し続ける:

「構造体MyOpenNIExample :: ImgContextは、」それらのいくつかがある

「イメージ」という名前のメンバーを持っていません。

私はCMakeLists.txt、 にfind_package(OpenCVのREQUIREDを追加した後、私は私がアップルを使用してとUbuntu 10.04を使用しています?何SHLDこのエラーに

Adjust CMAKE_MODULE_PATH to find FindOpenCV.cmake or set OpenCV_DIR to the 
    directory containing a CMake configuration file for OpenCV. The file will 
    have one of the following names: 

    OpenCVConfig.cmake 
    opencv-config.cmake 

を得る。

私が必要とするので、

#include "opencv2\opencv.hpp" 
#include "opencv2\highgui\highgui.hpp" 
#include "opencv2\imgproc\imgproc.hpp" 

私は

 find_package(OpenCV 2), 
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} /home/user/workspace) and 


    include_directories(${CMAKE_SOURCE_DIR}/include 
             ${OpenCV_INCLUDE_DIRS}) 
    target_link_libraries (RosPub openni_driver usb-1.0 ${OpenCV_LIBS}) 
を追加しました

答えて

1
#include "opencv2\opencv.hpp" 
#include "opencv2\highgui\highgui.hpp" 
#include "opencv2\imgproc\imgproc.hpp" 

インクルードは、上記ROSでvision_opencvに含まれているファイルが含まれています。それを含めるには、マニフェストファイルにopencvの依存関係を追加します。

これは役に立ちます。

+0

なぜ否定的な票が欲しいのですか? –

0
  1. 上記のリンクからFindOpenCV.cmakeを取得し、コンピュータのどこにでも置くことができます。 cmake_minimum_required追加ラインセット(CMAKE_MODULE_PATH $ {CMAKE_MODULE_PATH} [あなたがFindOpenCV.cmakeを置く場所フォルダへのパス])後
  2. は、このステップでは、あなたのCMakeLists.txt
  3. にfind_package(OpenCVの)を追加しますOpenCV_FOUNDをチェックできますそして、あなたのCMakeLists.txt内の他のOpenCVの変数は
+0

私はリンクから@spraffの回答 –

+0

を助けてくれてありがとう。 (CMAKE_MODULE_PATH $ {CMAKE_MODULE_PATH} [/ media/Data/workspace/Lakshmen]) – laksh

+0

shld私はインクルードしようとしているfind_package [OpenCV required] btwをインクルードしています。#include laksh

関連する問題