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