在pkg-config搜索路径中找不到包opencv

问题描述 投票:45回答:5

我已经使用https://help.ubuntu.com/community/OpenCV中的说明安装了OpenCV

$ sudo su
$ sudo apt-get install build-essential
$ sudo apt-get install libavformat-dev
$ sudo apt-get install ffmpeg
$ sudo apt-get install libcv2.3 libcvaux2.3 libhighgui2.3 python-opencv opencv-doc libcv-dev libcvaux-dev libhighgui-dev

现在,当我执行“pkg-config --cflags --libs opencv”时,我收到此错误:

Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found

我该如何解决这个问题?

------- -------更新

好的,我想出了如何解决问题......

我创建了一个名为“opencv.pc”的文件并将其复制到“/ usr / local / lib / pkgconfig”然后我将这两行添加到“.bashrc”:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

而已!现在一切都好。

该文件的内容是:

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

Name: opencv
Description: The opencv library
Version: 2.x.x
Cflags: -I${includedir}/opencv -I${includedir}/opencv2
Libs: -L${libdir} -lopencv_calib3d -lopencv_imgproc -lopencv_contrib -lopencv_legacy -lopencv_core -lopencv_ml -lopencv_features2d -lopencv_objdetect -lopencv_flann -lopencv_video -lopencv_highgui

更新 - 2014年

似乎ubuntu社区已完成安装openCV的文档,您现在要做的就是从https://github.com/jayrambhia/Install-OpenCV/blob/master/Ubuntu/opencv_latest.sh下载安装脚本并执行它。

opencv apt-get pkg-config
5个回答
35
投票

从你的问题我猜你正在使用Ubuntu(或衍生物)。如果您使用:

apt-file search opencv.pc

然后你看到你必须安装libopencv-dev

在你这样做之后,pkg-config --cflags opencvpkg-config --libs opencv应该按预期工作。


3
投票

看来ubuntu社区已经完成了安装openCV的文档,

所以你现在要做的就是从here下载安装脚本并执行它。

别忘了让它可执行:

chmod +x opencv_latest.sh

然后

./opencv_latest.sh

1
投票

嗨首先,我希望您使用'Synaptic Package Manager'。你只需要转到ubuntu软件中心并搜索synaptic包管理器。这就是你需要的所有软件包都可以在这里轻松获得。其次,它会自动配置您的所有路径。现在安装它然后在那里搜索opencv软件包,如果你发现带有绿色框然后安装的软件包,否则软件包不在正确的位置,所以你需要重新安装它,但这次是从软件包管理器。如果已安装,那么您只能这样做,您只需要使用opencv(包含OpenCVConfig.cmake文件)的路径填充OpenCV_DIR变量

    export OpenCV_DIR=<path_of_opencv>

1
投票

尝试在Debian 9.8上编译Go包时出现了同样的错误:

# pkg-config --cflags  -- libssl libcrypto
Package libssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libssl.pc'

问题是pkg-config.pc文件中搜索包元信息。这些文件来自dev包。所以,即使我安装了libssl,我仍然得到错误。它通过运行解决:

sudo apt-get install libssl-dev

0
投票
$ ./configure --enable-libopencv
ERROR: opencv not found using pkg-config


$ cat /usr/lib64/pkgconfig/opencv.pc
# Package Information for pkg-config

prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib64
includedir_old=${prefix}/include/opencv
includedir_new=${prefix}/include

Name: OpenCV
Description: Open Source Computer Vision Library
Version: 3.1.0
Libs: -L${exec_prefix}/lib64 -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_cvv -lopencv_dnn -lopencv_dpm -lopencv_fuzzy -lopencv_hdf -lopencv_line_descriptor -lopencv_optflow -lopencv_plot -lopencv_reg -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_rgbd -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_face -lopencv_video -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_xobjdetect -lopencv_objdetect -lopencv_ml -lopencv_xphoto -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_photo -lopencv_imgproc -lopencv_core
Libs.private: -L/usr/lib64 -lQt5Test -lQt5Concurrent -lQt5OpenGL -L/lib64 -lwebp -lpng -ltiff -ljasper -ljpeg -lImath -lIlmImf -lIex -lHalf -lIlmThread -lgdal -lgstvideo-1.0 -lgstapp-1.0 -lgstbase-1.0 -lgstriff-1.0 -lgstpbutils-1.0 -lgstreamer-1.0 -lucil -lunicap -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -lglib-2.0 -ldc1394 -lv4l1 -lv4l2 -lgphoto2 -lgphoto2_port -lexif -lQt5Core -lQt5Gui -lQt5Widgets -lhdf5_hl -lhdf5 -lz -ldl -lm -ltesseract -llept -lpthread -lrt -lGLU -lGL
Cflags: -I${includedir_old} -I${includedir_new}


$ pkg-config --cflags --libs opencv
-I/usr/include/opencv -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_cvv -lopencv_dnn -lopencv_dpm -lopencv_fuzzy -lopencv_hdf -lopencv_line_descriptor -lopencv_optflow -lopencv_plot -lopencv_reg -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_rgbd -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_face -lopencv_video -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_xobjdetect -lopencv_objdetect -lopencv_ml -lopencv_xphoto -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_photo -lopencv_imgproc -lopencv_core


$ uname -a
Linux fedora-23-x64 4.8.13-100.fc23.x86_64 #1 SMP Fri Dec 9 14:51:40 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
© www.soinside.com 2019 - 2024. All rights reserved.