2013-12-17 3 views
1

Я пишу базовый пример OpenCV, но не делают команду дать мне сообщение,PKG-конфигурации --cflags OpenCV: Нет такого файла или каталога

g++-4.7.real: error: pkg-config --cflags opencv: No such file or directory

g++-4.7.real: error: pkg-config --libs opencv: No such file or directory

команда выпуск PKG-конфигурации --cflag OpenCV дать мне результат как:

-I/usr/local/include/opencv -I/usr/local/include

и PKG-конфигурации --libs OpenCV дать мне:

-I/usr/local/include/opencv -I/usr/local/include
[email protected]:~/work/nmath/ntrainer$ pkg-config --libs opencv /usr/local/lib/libopencv_contrib.a /usr/local/lib/libopencv_stitching.a /usr/local/lib/libopencv_nonfree.a /usr/local/lib/libopencv_superres.a /usr/local/lib/libopencv_ocl.a /usr/local/lib/libopencv_ts.a /usr/local/lib/libopencv_videostab.a /usr/local/lib/libopencv_gpu.a /usr/local/lib/libopencv_photo.a /usr/local/lib/libopencv_objdetect.a /usr/local/lib/libopencv_legacy.a /usr/local/lib/libopencv_video.a /usr/local/lib/libopencv_ml.a /usr/local/lib/libopencv_calib3d.a /usr/local/lib/libopencv_features2d.a /usr/local/lib/libopencv_highgui.a /usr/local/share/OpenCV/3rdparty/lib/libIlmImf.a /usr/local/share/OpenCV/3rdparty/lib/liblibjasper.a /usr/local/share/OpenCV/3rdparty/lib/liblibtiff.a /usr/local/lib/libopencv_imgproc.a /usr/local/lib/libopencv_flann.a /usr/local/lib/libopencv_core.a /usr/lib/i386-linux-gnu/libbz2.so /usr/lib/i386-linux-gnu/libpng.so /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/i386-linux-gnu/libz.so -lswscale -lavformat -lavutil -lz -lSDL -lasound -lavcodec -lgthread-2.0 -lglib-2.0 -lgobject-2.0 -lfontconfig -lfreetype -lpango-1.0 -lcairo -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpangoft2-1.0 -lgio-2.0 -latk-1.0 -lgdk-x11-2.0 -lgtk-x11-2.0 -lrt -lpthread -lm -ldl -lstdc++

Ниже мой Makefile:

CC=g++ 
CFLAGS=-O2 -g 'pkg-config --cflags opencv' 
LDFLAGS='pkg-config --libs opencv' 

BIN=ntrainer 

ntrainer : ntrainer.cpp 
    $(CC) $(CFLAGS) $(LDFLAGS) -o $(BIN) ntrainer.cpp 

Моя система Ubuntu 12.10. Я успешно установил OpenCV-2.4.7 (я думаю) следующие инструкции здесь http://www.samontab.com/web/2011/06/installing-opencv-2-2-in-ubuntu-11-04/

Я также сконфигурировано и экспортируются в PKG_CONFIG_PATH /etc/bash.bashrc, I'v также управлял LDCONFIG

Пожалуйста, кто-то скажи мне, что мне не хватает? И как исправить это. Большое спасибо.

ответ

10

Использованы неверные кавычки. Вы должны использовать `вместо«:

CC=g++ 
CFLAGS=-O2 -g `pkg-config --cflags opencv` 
LDFLAGS=`pkg-config --libs opencv` 
+0

Спасибо jet47, он работает как шарм. – nautilusvn

0

Для меня, файл был там, но путь был не прав:

мне пришлось искать файл opencv.pc, убедитесь, что он находится в пути для pkgconfig, чтобы найти (то есть в одной из папок pkgconfig), а затем убедитесь, что путь prefix там прав.

В моем случае это было неправильно, потому что оно не было установлено через make install, но я сделал пакет make package, потому что он был скомпилирован, и путь, который я установил, не соответствовал пути CMAKE.

работает

pkg-config --cflags opencv

или

pkg-config --libs opencv

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