Пакет gtk-engine-2 не найден в пути поиска pkg-config - PullRequest
3 голосов
/ 28 марта 2011

Я пытаюсь скомпилировать реализацию алгоритма SIFT Роба Гесса на С. Я успешно установил OpenCV 2.1 и протестировал установку с примерами программ на языке C. Не было ошибки.

Этот код, который я пытаюсь скомпилировать, был написан с использованием OpenCV 2.0. Я успешно скомпилировал и запустил точный код когда-то назад с OCV2.0. Но теперь компиляция не удалась и печатает это. Я использую файл make с кодом.

make -C ./src siftfeat
make[1]: Entering directory `/home/niroshan/sift/src'
ar rc ../lib/libfeat.a imgfeatures.o utils.o sift.o kdtree.o minpq.o xform.o refine.o
ranlib  ../lib/libfeat.a
gcc  -I../include `pkg-config --cflags opencv gtk-engines-2` siftfeat.c -o ../bin/siftfeat -L../lib -lfeat `pkg-config --libs opencv gtk-engines-2`
Package gtk-engines-2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk-engines-2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk-engines-2' found
Package gtk-engines-2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk-engines-2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk-engines-2' found
In file included from siftfeat.c:18:
sift.h:23: fatal error: cxcore.h: No such file or directory
compilation terminated.
make[1]: *** [siftfeat] Error 1
make[1]: Leaving directory `/home/niroshan/sift/src'
make: *** [siftfeat] Error 2

Вероятно, есть другая проблема с включением cxcore.h Может кто-нибудь объяснить мне, что здесь не так? Заранее спасибо

Ответы [ 3 ]

7 голосов
/ 13 апреля 2011

У меня была та же проблема на моем Ubuntu 10.10 box.

Я нашел, какой файл нужен для сборки ("gdk / gdk.h"), и увидел, что пакет gtk + -2.0 (/usr/lib/pkgconfig/gtk+-2.0.pc) предоставил путь включения к / usr /include/gtk-2.0, в котором существует необходимый файл относительно.

Я отредактировал src / Makefile и изменил строки pkg-config CFLAGS и LIBS с «pkg-config ... opencv gtk-engine-2» на «pkg-config ... opencv gtk + -2.0», и он создан для меня. 1005 *

1 голос
/ 29 марта 2011

Кажется, что cxcore.h не удален из API. Так беги

pkg-config --cflags-only-I opencv

и проверьте, добавлен ли каталог, содержащий cxcore.h (весьма вероятно, / usr / include / opencv или / usr / local / include / opencv), в путь включения. Если это не так, вы можете добавить его вручную в рецепт make-файла или отредактировать файл opencv.pc, чтобы он выглядел примерно так

prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include/opencv

Name: OpenCV
Description: Intel(R) Open Source Computer Vision Library
Version: 2.1.0
Libs: -L${libdir} -lml -lcvaux -lhighgui -lcv  -lcxcore
Cflags: -I${includedir}

Возможно, вам потребуется изменить префикс в соответствии с префиксом установки

0 голосов
/ 13 августа 2012

У меня это работает в Ubuntu Precise.Мне пришлось установить следующие пакеты, а также внести изменения в gtk + -2.0, упомянутые выше.

gtk + -2.0 libgtk2.0-dev libcv-dev libhighgui-dev doxygen

Некоторый фонздесь можно найти информацию об использовании - https://web.engr.oregonstate.edu/~hess/publications/siftlib-acmmm10.pdf

У меня работают и bin / match, и bin / siftfeat, и я получаю изображения со стрелками, показывающими, где были извлечены функции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...