Библиотеки OpenCV не найдены в Qt5 в OSX 10.10
В настоящее время я пытаюсь использовать OpenCV в проекте Qt. Когда я его создаю, я получаю сообщение об ошибке:
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? Я читал что-то о том, что clang ведет себя как-то по-другому на OSX 10.10 Yosemite, но я не совсем понял, почему. Информация о моем звонке:
$ 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
Я также пытался использовать gcc-kit в Qt (GCC x86 64bit в /usr/bin), но это запутало намного больше, чего я не понял.
У кого-нибудь есть идея, что я делаю неправильно? Любая помощь приветствуется!
Патрик
1 ответ
Вы уже включили каталог opencv2
в вашем #include
заявление. Вы должны изменить свой путь включения на просто INCLUDEPATH += /usr/local/include
,