将CMake项目指向特定的包含文件

时间:2011-10-14 10:39:05

标签: build opencv ffmpeg cmake

我正在尝试使用FFMPEG构建OpenCV 2.3.0。由于Ubuntu 11.10仅提供版本0.7的libavcodec /格式,而机票#1020(下面的链接)表明它应该与0.8一起使用。

如果我尝试编译,我会收到以下错误:

[ 18%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.o
In file included from /home/chris/src/OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg.cpp:45:0:
/home/foo/src/OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg_impl.hpp:103:36: fatal error: libavformat/avformat.h: No such file or directory
compilation terminated.

此文件位于/opt/linux64-debug/include/ffmpeg/libavformat/avformat.h。我尝试使用CMAKE_INCLUDE_ {DIRECTORY,PATH},CMAKE_PREFIX_PATH和CMAKE_LIBRARY_PATH指向make。这些都没有效果。 (我总是使用路径/opt/linux64-debug/include/ffmpeg。)

https://code.ros.org/trac/opencv/ticket/1020

1 个答案:

答案 0 :(得分:1)

尝试include_directories()命令。在我的CMakeLists.txt文件中,我使用它:

include_directories(. /opt/special/headers/in/here)

add_executable(helloworld helloworld.c)

我从来没有遇到任何问题。