C ++ не может открыть исходный файл "opencv2 / tracking.hpp" - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь использовать мульти-трекер OpenCV, но он не находит tracking.hpp. Я построил OpenCV с OpenCV-contrib модулями на основе этих инструкций . Теперь в Visual Studio я сделал это:

enter image description here

, где $OPENCV_DIR - переменная пользователя:

enter image description here

У меня тоже есть;

  • добавил путь C:\opencv\opencv4.2.0\opencv-4.2.0\build\install\x64\vc16\lib к Linker -> Gnereal -> Additional Library Directories.
  • добавлено opencv_world420.lib к Linker -> Input -> Additional Dependencies

Теперь проблема в том, что opencv.hpp и tracking.hpp не обнаружены:

enter image description here

И opencv.hpp, и tracking.hpp существуют в C:\opencv\opencv4.2.0\opencv-4.2.0\build\install\include\opencv2. Что мне нужно сделать, чтобы программа распознала OpenCV-contrib модулей?

1 Ответ

1 голос
/ 16 января 2020

Примечание: Этот ответ был сформирован в основном путем объединения и расширения комментариев, сделанных мной и другими:

Проблема заключается в том, что «конфликт» между указанными вами «Дополнительными включаемыми каталогами» и указанным именем заголовка (заголовков) в ваших #include строках, в том, что вы указали папку «opencv2» дважды .

Например, строка:

#include <opencv2/tracking.hpp>

Ищет файл tracking.hpp в подкаталоге с именем opencv2 в каждом из определенных путей поиска. В вашем случае это ищет:

OPENCV_DIR \ include \ opencv2 \ opencv2 \ tracking.hpp

… и этот файл (фактически папка) не не существует.

Итак, просто укажите это как (ваш) "Дополнительный каталог включения":

OPENCV_DIR \ include

… затем, когда компилятор 'создает' путь для заголовка, он добавит /opencv2/tracking.hpp к (каждому) из указанных каталогов поиска и сможет найти: OPENCV_DIR\include + / + opencv2/tracking.hpp, так как это будет оцените:

OPENCV_DIR \ include \ opencv2 \ tracking.hpp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...