在Mac OS X中使用OpenCV进行CMake项目 - 找不到“opencv2 / opencv.hpp”文件

时间:2015-08-24 16:57:46

标签: macos opencv cmake

我写了一个只包含SolutionExists文件的简单opencv项目:

main.cpp

然后构建它,我写了// main.cpp #include <opencv/cv.h> #include <opencv2/opencv.hpp> int main() { cv::Mat I = cv::imread("img.png"); cv::imshow("img",I); cv::waitKey(0); return 0; } 这样的,实际上是从http://docs.opencv.org/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.html复制的

CMakeLists.txt

在终端中,首先我运行了cmake_minimum_required(VERSION 2.8) project( DisplayImage ) find_package( OpenCV REQUIRED ) add_executable( DisplayImage main.cpp ) target_link_libraries( DisplayImage ${OpenCV_LIBS} ) 并生成了cmake .。然后我运行Makefile并收到以下错误:

make
似乎编译器找不到包含dir的OpenCV。但我不知道将它添加到fatal error: 'opencv2/opencv.hpp' file not found #include <opencv2/opencv.hpp> ^ ...... 的哪个位置。我的平台是Mac OS X 10.10,已经在CMakeLists.txt/usr/local/include安装了OpenCV include和lib文件。但是,在Ubuntu中,编译器可以找到它并成功构建项目。

那么Mac OS X中的正确/usr/local/lib是什么?

1 个答案:

答案 0 :(得分:4)

我终于实际阅读了通过MacPorts安装的/opt/local/share/OpenCV/OpenCVConfig.cmake的标题。要在外部项目中使用,它指示包括:

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(MY_TARGET_NAME ${OpenCV_LIBS})

(只需将include_directories添加到我的CMakeLists.txt为我修复此内容)