在macos上编译opencv错误 - 在libavformat中出错

时间:2012-07-19 14:56:47

标签: ffmpeg opencsv

我尝试在两个mac中编译OpenCSV,而且我都有错误。错误如下:

Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.cpp.o
use of undeclared identifier 'avformat_find_stream_info'; 
did you mean 'av_find_stream_info'?
/usr/local/include/libavformat/avformat.h:1168:5: note: 'av_find_stream_info' declared here int av_find_stream_info(AVFormatContext *ic);

/ usr / local / include中的libavformat随ffmpeg一起安装。 Ffmpeg是0.8.5版本

任何人都有同样的问题吗?

2 个答案:

答案 0 :(得分:2)

我基本上编辑了modules / highgui / src / cap_ffmpeg_impl.hpp中的代码

#if LIBAVFORMAT_BUILD >= CALC_FFMPEG_VERSION(53, 3, 0)
    avformat_find_stream_info(ic, NULL);
#else
    av_find_stream_info(ic);
#endif

#if LIBAVFORMAT_BUILD >= CALC_FFMPEG_VERSION(53, 3, 0)
    av_find_stream_info(ic);
    //avformat_find_stream_info(ic, NULL);
#else
    av_find_stream_info(ic);
#endif

这解决了它。到目前为止没问题。

答案 1 :(得分:1)

您可以通过向cmake命令添加以下参数来禁用ffmpeg(请参阅示例this manual):

-DWITH_FFMPEG=OFF

假设您在构建中实际上不需要ffmpeg,这将消除错误。