为了在Ubuntu 10.04上构建我的项目,我使用了Apple的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库。我已经添加了OpenCV库,但是我的代码仍然无法运行。它一直输出以下错误:
结构MyOpenNI范例::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
型
因为我需要:
#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)
型
和
include_directories(${CMAKE_SOURCE_DIR}/include${OpenCV_INCLUDE_DIRS})
target_link_libraries (RosPub openni_driver usb-1.0 ${OpenCV_LIBS})
型
我该怎么办?
2条答案
按热度按时间ljo96ir51#
字符串
上面的包含文件包含在ROS中的vision_opencv中。所以要包含它,在manifest文件中添加opencv依赖项。
那会有帮助的。
esyap4oy2#
1.从上面的链接获取
FindOpenCV.cmake
并将其放在计算机上的任何位置。1.在
cmake_minimum_required
之后添加行set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH})
[${CMAKE_MODULE_PATH}
表示放置FindOpenCV.cmake的文件夹的路径])1.将
find_package(OpenCV)
添加到CMakeLists.txt1.在此步骤中,您可以检查CMakeLists.txt中的OpenCV_FOUND和其他OpenCV变量