我目前正在尝试在Qt项目中使用OpenCV。当我构建它时,我收到错误:
error: 'opencv2/opencv.hpp' file not found
#include <opencv2/opencv.hpp>
我知道网络上有很多类似的问题,但到目前为止,没有一个答案能够解决我的问题。
我的规格:
我的.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位),但这种情况搞得多了,我不明白。
有人知道我做错了什么吗?任何帮助表示赞赏!
帕特里克
答案 0 :(得分:0)
您已在opencv2
语句中包含目录#include
。您应该将包含路径更改为INCLUDEPATH += /usr/local/include
。