Как заставить opencv включить работу в kubuntu? (Включает решение о том, как включить и связать в NetBeans 6.7.1) - PullRequest
3 голосов
/ 25 января 2010

Я установил библиотеки OpenCV C из управления пакетами в мой Kubuntu 9.10. Я написал небольшую программу для модификации изображений, которая использует эти библиотеки, но не могу скомпилировать ее, потому что каждый раз, когда я пытаюсь скомпилировать, я получаю сообщение об ошибке, что функции из библиотеки OpenCV не могут быть найдены.

Эти заголовочные файлы находятся в папке /usr/include/opencv/, но все же компилятор говорит, что функции не могут быть найдены.

Я попытался включить их по основному

#include <highgui.h>
#include <cv.h>

команды в netbeans (и я настроил netbeans для поиска файлов заголовков из этого конкретного каталога), а также попытался включить их в полный путь.

#include </usr/include/opencv/highgui.h>
#include </usr/include/opencv/cv.h>

Также я попытался скомпилировать исходный файл в консоли (с указанием полного пути), но снова я получил то же сообщение об ошибке, что функции из этих библиотек не могут быть найдены.

Edit:

Я получаю сообщение об ошибке

undefined reference to 'function_name'

Я получаю эту ошибку для каждой функции, которую пытаюсь использовать из этой библиотеки opencv.

Есть идеи, как решить эту проблему?


Редактировать II:

Если кто-то еще использует NetBeans 6.7.1 и имеет ту же проблему, вот копия решения, вставленная с другого сайта:

Здесь я предполагаю, что вы успешно установили библиотеку opencv вручную или с помощью управления пакетами.

  1. Откройте Netbeans и сделайте следующее: Выберите Инструменты -> Параметры -> C / C ++ -> Помощь по коду -> Добавить каталоги включения (Для меня / usr / local / include / opencv)
  2. Создайте новый проект, затем: Щелкните правой кнопкой мыши Имя проекта -> Свойства -> Сборка -> Компилятор C / C ++ -> Включить каталоги Включить каталоги: / usr / local / include / opencv
  3. Щелкните правой кнопкой мыши Имя проекта -> Свойства -> Построить -> компоновщик -> Включить каталоги: / usr / local / include / opencv Дополнительные параметры: -I / usr / local / include / opencv -L / usr / local / lib -lcxcore -lcv -lhighgui -lcvaux -lml

Затем написание программы и компиляция !!

Ответы [ 2 ]

1 голос
/ 25 января 2010

«неопределенная ссылка на» - ошибка компоновщика. Вы забыли связать свое приложение с библиотеками OpenCV. Убедитесь, что вы связываетесь с cv и highgui (-lcv -lhighgui) или используете вызов pkg-config, предоставленный Тобу. Я бы также запросил более подробные сообщения об ошибках.

0 голосов
/ 25 января 2010

OpenCV использует pkg-config, стандартный способ поиска библиотек и заголовков в Unix. Вы можете запустить (не проверено):

make CFLAGS="$(pkg-config --cflags --libs opencv)" your-program
...