hat*_*ero 11 opencv ffmpeg cmake
我正在为Ubuntu 10.10上的项目编译依赖项,而不是默认安装到/ usr/local,而是将其安装到/ tmp/stage/usr/local.当我调用它来生成所述项目的构建文件时,如何通知CMake这个自定义安装依赖项的位置.
我正在运行CMake 2.8.1,我试图在cmake命令行上设置CMAKE_PREFIX_PATH,就像这样
cmake -D CMAKE_PREFIX_PATH=/tmp/stage/usr/local
Run Code Online (Sandbox Code Playgroud)
但这似乎没有什么区别 - 项目似乎没有检测到依赖性.
此外,如果重要,有问题的项目是OpenCV 2.2,有问题的依赖是FFMPEG ......
hat*_*ero 21
我想出了如何解决我的问题,并试图在适当的安装位置指向CMake不是问题.
显然,CMake无法找到FFMPEG的pkg-config文件(即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
Run Code Online (Sandbox Code Playgroud)
在此之后,OpenCV按照预期对FFMPEG构建.