Я хотел бы использовать пакет обработки изображений Dlib (библиотека C ++) в Visual Studio 2013.
Я создал пустой проект и добавил «dlib-18.16 \ dlib \ all \ source.cpp» в мои исходные файлы в обозревателе решений. Затем я добавил путь к dlib-18.16 в мои каталоги include в каталогах VC ++ и также добавил путь к dlib-18.16 \ dlib в мои дополнительные каталоги include в C / C ++ General из Visual Studio.
Я могу запустить файл matrix_ex.cpp, который является одним из примеров Dlib, но не могу запустить файл face_detection_ex.cpp из-за ошибки «Невозможно открыть включаемый файл: ‘type_safe_union / type_safe_union_kernel.h’», которая на самом деле вызвана по линии #include <dlib/image_processing/frontal_face_detector.h>
Как я могу решить эту проблему? Почему программа находит некоторые заголовочные файлы, но не может найти другие, пока они все находятся в одной папке?
Вам нужно добавить саму папку dlib в каталоги Include в каталогах VC ++, вместо этого вы добавили папку над ней.
По расширению это будет означать, что ваша директива включения должна быть #include <image_processing/frontal_face_detector.h>
,
Позвольте мне перечислить гипотетический пример, чтобы объяснить лучше. Вы скачали dlib-18.16.tar.bz2
и извлек это c:\projects
, Это создает папку с именем c:\projects\dlib-18.16
, В каталогах VC ++ вы добавили c:\projects\dlib-18.16
включить каталоги.
Однако это не правильно, вы должны удалить этот каталог и вместо этого добавить c:\projects\dlib-18.16\dlib
поскольку это каталог для проекта.
Это приведет к #include <type_safe_union/type_safe_union_kernel.h>
загрузить C:\projects\dlib-18.16\dlib\type_safe_union\type_safe_union_kernel.h
а также аналогичные внутренние ссылки между файлами.