在OSX 10.10的Qt5中找不到OpenCV库

时间:2015-01-12 19:47:27

标签: macos qt opencv clang

我目前正在尝试在Qt项目中使用OpenCV。当我构建它时,我收到错误:

error: 'opencv2/opencv.hpp' file not found
#include <opencv2/opencv.hpp>

我知道网络上有很多类似的问题,但到目前为止,没有一个答案能够解决我的问题。

我的规格:

  • Qt 5.4.0(Clang 6.0(Apple),64位)
  • Mac OSX 10.10.1
  • 从homebrew安装的OpenCV 2.4.9

我的.pro文件如下所示:

QT       += core gui multimedia multimediawidgets

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = MainProject
TEMPLATE = app
SOURCES += main.cpp mainwindow.cpp
HEADERS  += mainwindow.h
FORMS    += mainwindow.ui

INCLUDEPATH += /usr/local/include/opencv2

LIBS += -L/usr/local/lib
LIBS += -lopencv_core
LIBS += -lopencv_imgproc
LIBS += -lopencv_highgui
LIBS += -lopencv_ml
LIBS += -lopencv_video
LIBS += -lopencv_features2d
LIBS += -lopencv_calib3d
LIBS += -lopencv_objdetect
LIBS += -lopencv_contrib
LIBS += -lopencv_legacy
LIBS += -lopencv_flann

我确保链接实际链接到正确的位置。所有头文件和所有.dylib文件也都存在。我检查了库的类型:

$ file libopencv_core.dylib 
libopencv_core.dylib: Mach-O 64-bit dynamically linked shared library x86_64

在我的项目设置中,qmake命令为:

qmake: qmake MainProject.pro -r -spec macx-clang CONFIG+=debug CONFIG+=x86_64

不幸的是我只对这些编译器有基本的了解,所以我不太确定,它是否与clang有关?我在OSX 10.10 Yosemite上读到了一些关于clang表现不同的东西,但我并不完全理解为什么。关于我的铿锵的信息:

$ clang --version
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.0.0
Thread model: posix

我也尝试在Qt中使用gcc-kit(/ usr / bin中的GCC x86 64位),但这种情况搞得多了,我不明白。

有人知道我做错了什么吗?任何帮助表示赞赏!

帕特里克

1 个答案:

答案 0 :(得分:0)

您已在opencv2语句中包含目录#include。您应该将包含路径更改为INCLUDEPATH += /usr/local/include