我希望有人能帮助我。
我有一个简单的 CMakeLists.txt 来在 Ubuntu 上构建我的项目。我正在使用 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 (RosPub openni_driver usb-1.0 ${OpenCV_LIBS})
我需要在我的项目中添加 opencv 库。我已经添加了它们,但我仍然无法让我的代码工作。它不断向我发布此错误:
“struct MyOpenNIExample::ImgContext”没有名为“image”的成员
其中有一些。
在我添加 find_package(OpenCV REQUIRED 到 CMakeLists.txt 后, 我收到这个错误
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
我应该做什么?我正在使用 Apple 并使用 Ubuntu 10.04。
因为我需要
#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})
#include "opencv2\opencv.hpp"
#include "opencv2\highgui\highgui.hpp"
#include "opencv2\imgproc\imgproc.hpp"
上面的包含文件包含在ROS中的vision_opencv中。因此,要包含它,请在清单文件中添加 opencv 依赖项。
那会有帮助的。
FindOpenCV.cmake
并将其放在计算机上的任何位置。cmake_minimum_required
之后添加行 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH})
[${CMAKE_MODULE_PATH}
表示放置 FindOpenCV.cmake 的文件夹的路径])find_package(OpenCV)
添加到您的 CMakeLists.txt