【发布时间】:2015-03-10 16:03:44
【问题描述】:
我目前正在尝试在 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
- 从自制软件安装的 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 的信息:
$ 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 64bit),但这搞砸了很多,我不明白。
有人知道我做错了什么吗?任何帮助表示赞赏!
帕特里克
【问题讨论】: