【问题标题】:pkg-config --cflags opencv: No such file or directorypkg-config --cflags opencv:没有这样的文件或目录
【发布时间】:2014-01-04 16:19:57
【问题描述】:

我正在写一个opencv的基本例子,但是ma​​ke命令给我信息

g++-4.7.real: 错误:pkg-config --cflags opencv: 没有这样的文件或目录

g++-4.7.real: 错误:pkg-config --libs opencv: 没有这样的文件或目录

发出命令 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-gnu/libjpeg.so /usr/lib/i386-linux-gnu/libz.so -lswscale -lavformat -lavutil -lz -lSDL -lasound -lavcodec -lgthrea d-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

请有人告诉我我错过了什么?以及如何纠正它。 太感谢了。

【问题讨论】:

    标签: opencv ubuntu pkg-config


    【解决方案1】:

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

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

    【讨论】:

    • 如果我在本地目录中构建openCV,我应该将pkg-config --cflags opencv更改为什么?
    • 只有 CMake 可以使用本地构建。 pkg-config 仅用于安装。
    【解决方案2】:

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

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

    在我的情况下这是错误的,因为它不是通过make install 安装的,但是我制作了一个make package 包,因为它是交叉编译的,并且我安装它的路径与 CMAKE 路径不匹配。

    运行

    pkg-config --cflags opencv

    pkg-config --libs opencv

    告诉您它在哪里寻找文件,以便您确保它们匹配。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-17
      • 2021-10-18
      • 2013-05-07
      • 1970-01-01
      • 2019-02-19
      • 2023-03-20
      相关资源
      最近更新 更多