2015-05-03 4 views
0

Я начинающий программист, возможно, пропустил что-то очевидное здесь. Я следую этому руководству, чтобы настроить opencv на моем Mac: OpenCV Linux Install (Да, это версия Linux, но она должна работать с Mac) Я следил за всеми направлениями, и все работало правильно. (Я сделал CMake, make и sudo make install без ошибок)Нужна помощь в настройке OpenCV на Mac

Однако при компиляции я получаю ошибки, говорящие, что компилятор не может найти файлы заголовков. Пример:

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

Я предполагаю, что я еще не связал свою установку или, возможно, «установил путь»? Однако это было не в направлениях. Любые идеи?

+0

Позвольте мне понять: то, что не удается компилирование ваш собственный проект, используя некоторые функции OpenCV, правильно? Какой проект у вас? В основном происходит то, что библиотеки opencv не входят в ваш путь по умолчанию (см. Http://stackoverflow.com/questions/4980819/gcc-include-directories), поэтому вы должны указать его явно. Обычно вы решите это, добавив в строку компилятора '-I <путь к библиотеке include path>', но решение зависит от вашего проекта: если у вас есть проект CMake, у вас есть специальная команда под названием 'include_directories' – Antonio

+0

Спасибо, Да, сбой - это компиляция моего собственного проекта с использованием функций OpenCV. На самом деле это образец проекта, который я нашел на веб-сайте OpenCV. Я пробовал компиляцию так: g ++ -I/Users/user/Desktop/opencv2/include main.cpp, и я получил ту же ошибку, о которой я упоминал ранее. Внутри моего каталога include есть cmake_install.cmake CMakeFiles и Makefile. Как скомпилировать с "include_directories"? – s123

+0

По-прежнему такая же ошибка. Это столица. г ++ -I/Users/пользователь/Desktop/opencvbuild/включить main.cpp main.cpp: 3: 10: фатальная ошибку: файл 'opencv2/imgcodecs.hpp' не найден #include "opencv2/imgcodecs.hpp" ^ 1 ошибка сгенерирована. – s123

ответ

1

После нескольких итераций проб и ошибок, это выглядит ваш компилятор линия должна быть:

g++ -I/usr/local/include -lopencv_core -lopencv_imgproc -lopencv_highgui -L/usr/local/lib/ main.cpp main.cpp 

именно вы должны проверить install_manifest.txt (резюме вашей команды установки OpenCV, доступных в каталоге OpenCV сборки) и добавьте варианты:

  • -I<path to the include directory>
  • -l<name of the library file to be linked, removing "lib" prefix and any extension> (повторить столько библиотек, которые необходимо связать с)
  • -L<path to the library directory>

Для вашей системы, файлы библиотеки можно выделить как имеющие расширение .dylib (и префикс lib). В Windows расширение будет .dll и для Unix .so (для динамических библиотек, в то время как статические библиотеки имеют расширение .lib и .a соответственно)

Смежные вопросы