我正在写一个opencv的基本示例,但 make 命令给我留言
g -4.7.real:错误:pkg-config --cflags opencv:没有这样的文件或目录g -4.7.real:错误:pkg-config --libs opencv:没有这样的文件或目录
issue command pkg-config --cflag opencv 给我结果如下:
-I / usr / local / include / opencv -I / usr / local / include
和 pkg-config --libs opencv 给我:
-I / usr / local / include / opencv -I / usr / local / include vudao @ vudaopc:〜/ 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-g nu / 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,我也跑了 ldconfig
请有人告诉我我错过了什么?以及如何纠正它 . 非常感谢 .
2 回答
您使用了错误的引号 . 你应该使用`而不是':
对我来说,文件在那里但路径错了:
我必须查找
opencv.pc
文件,确保它位于pkgconfig程序的路径中(即在其中一个pkgconfig文件夹中),然后确保其中的prefix
路径正确 .在我的情况下它是错误的,因为它没有通过
make install
安装,但我做了一个make package
包,因为它是交叉编译的,我安装它的路径与CMAKE路径不匹配 .赛跑
pkg-config --cflags opencv
要么
pkg-config --libs opencv
告诉你它在哪里寻找文件,这样你就可以确保它们匹配 .