Статическое подключение OpenCV 1.1 к проекту в VC 2003 / OpenCV / Recog.ru - Распознавание образов для программистов


Статическое подключение OpenCV 1.1 к проекту в VC 2003

Задача, конечно, врятли актуальная. Поскольку большинство пользуется OpenCV более новых версий и более новые студии. Однако, возникла такая ситуация. Необходимо создать проект на visual studio 2003 с использованием некоторых средств OpenCV, которая была бы статически подключена. Первое — это то, что версии OpenCV, начиная с 2.0 отпадают, поскольку они предназначены только для работы, начиная с vs 2005. Второе — динамически все работает нормально, однако когда речь заходит о статической линковке возникает ряд проблем. Ниже описано, какие действия надо сделать, что откомпилировать и подключить статически OpenCV к вашему проекту в vs 2003.

Копиляция OpenCV 1.1.
1. Открыть в vs 2003 файл opencv.dsw, согласившись с преобразованиями в более новую версию, поскольку это файл проекта vs 6.0
2. Сделать активным Release.
Пункты 3-6 для всех 14 проектов
3. Установить Project->Properties->General->Configuration Type = Static Library(.lib) для всех проектов (их 14). Хотя, конечно cvsample и cvtest не нужны.
4. Установить Project->Properties->C/C++->Code Generation->Runtime Library = /MT.
5. Установить Project->Properties->C/C++->General->Debug Information Format = Disabled
6. Установить Project->Properties->Librarian->General->Additional Dependences = msvcrt.lib
7. Для проектов libjasper, libjpeg, libpng, libtiff, zlib поменяете
Project->Properties->Librarian->General->Output file на $(OutDir)/Название.lib, поскольку там прописаны пути неправльно.

Компилируем. Ждем. Должно быть 0 ошибок. После чего копируем lib в папки lib и otherlibs\_graphics\lib\.

Подключение.
1. Открываем ваш проект в vs 2003, к которому необходимо подключить Opencv 2.1.
2. Установить Project->Properties->C/C++->Code Generation->Runtime Library = /MT.
3. Установить Project->Properties->C/C++->General->Debug Information Format = Disabled
4. Установить в Project->Properties->Linker->Input->Additional Dependences = libjpeg.lib libjasper.lib libpng.lib libtiff.lib cv.lib highgui.lib zlib.lib cxts.lib cvaux.lib ml.lib vfw32.lib videoInput.lib msvcrt.lib comctl32.lib. (Возможно там ещё нужны будут библиотеки в зависимости от вашего проекта).
5. Установить в Project->Properties->Linker->Input->Ignore Specific Library = atlthunk.lib;LIBCMT.lib

Компилируем. Должен получиться большой exe файл (в моем проекте 1.7MB), который должен запускаться без OpenCV. У меня работало на XP и на Seven.
  • +1
  • 04 сентября 2011, 13:04
  • vidikon

Комментарии (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.