Помощь - Поиск - Пользователи - Календарь
Полная версия: Code::Blocks и OpenCV
Форум «Всё о Паскале» > Pascal, Object Pascal > 32 битные компиляторы
Игорь
Вобщем, пытаюсь пользоваться opencv, но не получается. Проблема вроде-как в линковке т.к. выползает очень много "underfined reference to".

Вот как настраивал (компилятор, кстати, MinGW):

1) Создал глобальную переменную cv, где:

base C:\CV\opencv
include $(#cv)\build\include
lib $(#cv)\build\x86\mingw\lib

2) Настроил компилятор:

Comp. and debug. --> Search dir. --> Compiler добавил $(#cv.include)
Comp. and debug. --> Search dir. --> Linker добавил $(#cv.lib)

Код (на C):

Спойлер (Показать/Скрыть)


Вывод:
Спойлер (Показать/Скрыть)


Наверное опять что-то упустил.
В линуксе всё это как-то поще было по-моему.... Избаловал он меня....
IUnknown
OpenCV 2.3.1, установлена в D:\opencv\opencv

+
Нажмите для просмотра прикрепленного файла

+ в Project->Build options -> Linker settings добавлены библиотеки
mingw/lib/libopencv_highgui231.dll.a
mingw/lib/libopencv_core231.dll.a

= результат на скрине... smile.gif
Игорь
Что-бы хоть как-то скомпилировать пришлось, помимо твоих двух библиотек, добавил C:\CV\opencv\build\x86\mingw\lib\libopencv_imgproc231.dll.a , теперь куча сообщений типа оно объявлено, но не используется и при запуске жалуется, что libopencv_core231.dll не найден. Может что-то в других настройках?
IUnknown
Цитата
теперь куча сообщений типа оно объявлено, но не используется
Это предупреждения, ничего страшного. Хотя и странно. У меня подобного нет. Скорее всего - потому что я использую g++, а не gcc, эти предупреждения появляются только в случае gcc smile.gif

Цитата
и при запуске жалуется, что libopencv_core231.dll не найден
А это... Ты в переменную окружения PATH прописал путь к папке с DLL-ками? Я прописывал. И при запуске простейшей программы:
#include <stdio.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>

int main(int argc, char* argv[])
{
IplImage* img = cvLoadImage("F:\\test\\pic.jpg", CV_LOAD_IMAGE_UNCHANGED);
if (!img) {
printf("Error: Could not open the image file! \n");
exit(1);
}

cvSmooth(img, img, CV_BLUR);
cvSaveImage("F:\\test\\blurred.jpg", img);

cvReleaseImage(&img);
return 0;
}

в папке наблюдаю замутненное изображение.
Игорь
Добавил пути к cv'шным и mingw'шным (потребовал ещё и libstdc++-6.dll) dll-кам. Стало запускаться, зато вылезает окошко: OpenCV - обнаружена ошибка (после появления окна, но до картинки). В доп. сведениях libopencv_highgui231.dll. Может надо указать путь к 3rdparty?
IUnknown
Что-то меня терзают смутные сомнения, что ты не пересобрал библиотеку перед тем, как ее использовать. А собирать ее надо тем же самым компилятором, которым будешь компилировать приложение: OpenCV Installation Guide
Цитата
Windows: <...> It is generally recommended to download the source .zip package and rebuild OpenCV from scratch using the same compiler that you use to build your applications.
Сделал это?
Игорь
Неа... Думал можно просто скачать и всё, а собирать для каких-то особых случаев. Сегодня, может, попробую.
Игорь
Наконец-то всё работает! По крайней мере, мне так кажется...

Цитата
Windows: <...> It is generally recommended to download the source .zip package and rebuild OpenCV from scratch using the same compiler that you use to build your applications.


В последней версии (2.3.1) этого .zip уже нет, всё есть в superpack (это я для тех, кто будет в подобной ситуации).

Ну а тебе, IUnknown, спасибо, в очередной раз. Хотя, как всегда виноват был я сам.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.