首页 文章

pkg-config --cflags opencv:没有这样的文件或目录

提问于
浏览
2

我正在写一个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 回答

  • 13

    您使用了错误的引号 . 你应该使用`而不是':

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

    对我来说,文件在那里但路径错了:

    我必须查找 opencv.pc 文件,确保它位于pkgconfig程序的路径中(即在其中一个pkgconfig文件夹中),然后确保其中的 prefix 路径正确 .

    在我的情况下它是错误的,因为它没有通过 make install 安装,但我做了一个 make package 包,因为它是交叉编译的,我安装它的路径与CMAKE路径不匹配 .

    赛跑

    pkg-config --cflags opencv

    要么

    pkg-config --libs opencv

    告诉你它在哪里寻找文件,这样你就可以确保它们匹配 .

相关问题