Библиотеки 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,

Другие вопросы по тегам