Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv CMake can';在自定义安装路径中找不到FFMPEG_Opencv_Ffmpeg_Cmake - Fatal编程技术网

Opencv CMake can';在自定义安装路径中找不到FFMPEG

Opencv CMake can';在自定义安装路径中找不到FFMPEG,opencv,ffmpeg,cmake,Opencv,Ffmpeg,Cmake,我正在为Ubuntu 10.10上的一个项目编译一个依赖项,而不是让它默认安装到/usr/local,而是将它安装到/tmp/stage/usr/local。当我调用CMake为所述项目生成构建文件时,如何通知CMake这个自定义安装的依赖项的位置 我运行的是CMake 2.8.1,我尝试在CMake命令行上设置CMake_PREFIX_路径,如下所示 cmake -D CMAKE_PREFIX_PATH=/tmp/stage/usr/local 但这似乎没有什么区别——项目似乎没有检测到依赖

我正在为Ubuntu 10.10上的一个项目编译一个依赖项,而不是让它默认安装到/usr/local,而是将它安装到/tmp/stage/usr/local。当我调用CMake为所述项目生成构建文件时,如何通知CMake这个自定义安装的依赖项的位置

我运行的是CMake 2.8.1,我尝试在CMake命令行上设置CMake_PREFIX_路径,如下所示

cmake -D CMAKE_PREFIX_PATH=/tmp/stage/usr/local
但这似乎没有什么区别——项目似乎没有检测到依赖性


另外,如果有关系的话,讨论中的项目是OpenCV 2.2,讨论中的依赖项是FFMPEG…

我找到了解决问题的方法,尝试将CMake指向适当的安装位置并不是问题所在

显然,CMake无法找到FFMPEG的pkg配置文件(即libavcodec.pc、libavdevice.pc等),这些文件告诉它FFMPEG头和库的位置。在典型的安装场景中,这些文件将位于/usr/lib/pkgconfig。但是,由于自定义安装位置的原因,它们位于/tmp/stage/usr/local/lib/pkgconfig

为了让CMake能够找到这些文件,我必须添加以下环境变量:

export PKG_CONFIG_PATH=/tmp/stage/usr/local/lib/pkgconfig

在这一点之后,OpenCV按预期基于FFMPEG构建。

我被这个问题弄糊涂了,你是说你已经在/tmp/stage/usr/local中安装了FFMPEG,并且你正在尝试基于该FFMPEG构建OpenCV吗?或者你想用cmake在/tmp/stage/usr/local中安装什么东西?FFMPEG安装在/tmp/stage/usr/local中,我正试图根据这个FFMPEG构建OpenCV,是的……我的问题似乎与原来的问题相同,但我使用的是CentOS 6.5。OpenCV make失败后,我看到$PKG_CONFIG_PATH变量设置为/usr/lib/pkgconfig,该目录只包含zlib.pc文件。这正常吗?我安装了ffmpeg,opencv build在链接opencv_perf_视频时抱怨说,它对“avformat_network_init”有未定义的引用,该引用位于ffmpeg源代码下。我不知道ffmpeg安装在哪里(我尝试给出prefix=/usr/local,但在那里找不到),我假定该变量是通过bash脚本或在终端中手动设置的。你知道吗,你如何直接从cmake设置这个?我尝试设置(ENV{PKG_CONFIG_PATH}“${PROJECT_SOURCE_DIR}/libs/ffmpeg/build/lib/pkgconfig”),但它不知何故没有导出PKG_CONFIG_路径,因此构建失败。