опенкв:Как установить зависимости проекта в Visual Studio 2005?
-
21-08-2019 - |
Вопрос
У меня четыре проекта:
- резюме
- cxcore
- высокий гуй
- Сопоставление шаблонов
Зависимости проекта:
- резюме проекта зависит от cxcore
- проект highgui зависит от cxcore
- Проект TemplateMatching зависит от cv, cxcore, highgui
но есть еще некоторые ошибки:
Сборка началась:Проект:highgui, Конфигурация:Отладка Win32
.....
СВЯЗЬ :....\bin\cxcore100d.dll не найден или не создан по последней инкрементной ссылке;выполнение полной ссылки
cvcap.obj:ошибка LNK2019:неразрешенный внешний символ резюмеБесплатно ссылка на функцию _cvReleaseCapture
cvcap_vfw.obj:ошибка LNK2001:неразрешенный внешний символ резюмеБесплатно
cvcap_vfw.obj:ошибка LNK2019:неразрешенный внешний символ _cvReleaseImage, на который ссылается функция «void __cdecl icvCloseCAM_VFW(struct CvCaptureCAM_VFW *)» (?icvCloseCAM_VFW@@YAXPAUCvCaptureCAM_VFW@@@Z)
изображение.объект:ошибка LNK2001:неразрешенный внешний символ _cvReleaseImage
loadave.obj:ошибка LNK2001:неразрешенный внешний символ _cvCreateImage
loadave.obj:ошибка LNK2001:неразрешенный внешний символ _cvFlip
изображение.объект:ошибка LNK2019:неразрешенный внешний символ _cvsetimageroi, на который ссылаются .... bin/highgui100d.dll:фатальная ошибка LNK1120:31 нерешенный внешний фактор.....
highgui - 56 ошибок, 0 предупреждений
========== Сборка:0 выполнено успешно, 1 не выполнено, 1 актуально, 0 пропущено ==========
Я не знаю, как это понять....Как я могу заставить «TemplateMatching» использовать функции проектов cv/cxcore/highgui?
Спасибо
Решение
Если вы хотите, чтобы OpenCV использовал только ваш собственный проект (TemplateMatching), вам не нужно создавать проекты Open CV, просто создайте ссылку на библиотеки OpenCV, cv.lib, cxcore.lib и highgui.lib.
Если вы все еще хотите создавать проекты OpenCV, судя по ошибкам, проект HighGui не связан с cxcore.lib.Это причина ошибок, которые вы получаете.
Я предполагаю, что вы установили OpenCV 1.0 в Windows с типичными настройками?
РЕДАКТИРОВАТЬ:Библиотеки, такие как cxcore.lib, являются «заглушками».Эти библиотеки по сути представляют собой заполнители, которые сообщают компоновщику, что реализация функций находится в DLL.Поэтому вам необходимо включить эти библиотеки в ссылку и убедиться, что ваш исполняемый файл знает, где найти библиотеки DLL, реализующие эти функции.
Другие советы
Щелкните проект правой кнопкой мыши и выберите «Добавить ссылки».Выберите вкладку «Проекты», выделите проекты, на которые вы хотите ссылаться из текущего проекта, и нажмите «ОК».В файлах классов используйте операторы using (C#) для ссылки на пространства имен.