Reputation: 2329
I'm using Apple, CMake 2.8.1 in order to build my project on Ubuntu 10.04:
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 (RosPub openni_driver usb-1.0 ${OpenCV_LIBS})
I need to add OpenCV libraries on my project. I have added them but I can't still get my code to work. It keeps outputting this error:
struct MyOpenNIExample::ImgContext’ has no member named ‘image’
There are a few of them:
After I added find_package(OpenCV REQUIRED)
to the CMakeLists.txt, I got this error:
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
Since I need:
#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
I added
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})
What should I do?
Upvotes: 4
Views: 37217
Reputation: 5110
FindOpenCV.cmake
from above link and put it anywhere on your computer.cmake_minimum_required
add line set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH})
[${CMAKE_MODULE_PATH}
denotes the path to folder where you put FindOpenCV.cmake])find_package(OpenCV)
to your CMakeLists.txtUpvotes: 0
Reputation: 2329
#include "opencv2\opencv.hpp"
#include "opencv2\highgui\highgui.hpp"
#include "opencv2\imgproc\imgproc.hpp"
the include files above are included in the vision_opencv in ROS. so to include it, add the opencv dependency in the manifest file.
That would help.
Upvotes: 2