可以在Ubuntu上共存ffmpeg和libav头文件吗?并不是这些标题错误地相互包含在一起吗?

时间:2014-05-10 17:27:05

标签: c ubuntu ffmpeg

所以Ubuntu拒绝了ffmpeg而支持它的fork libav。我需要在Ubuntu上开发一个使用ffmpeg而不是libav的应用程序。

我已经单独编译和链接了ffmpeg,它似乎没问题,但我刚刚意识到我无法正确调试它,因为系统头是用于libav。

我已经尝试将ffmepg标头放在本地路径中,例如。

#include <ffmpeg-0.8.10/avformat.h>

而不是

#include <avformat.h>

但是这给了我错误,例如

ffmpeg-0.8.10/libavformat/avformat.h:455:10: error: use of enum ‘AVCodecID’ without previous declaration

AVCodecID在avcodec.h中定义,但它包含在avformat.h中,如下所示:

#include "libavcodec/avcodec.h"

两个问题:

  1. 我是否可以设置环境以便本地ffmpeg标头能够正确地相互包含,而不会更改这些标头,而libav标头仍然安装在正常的包含路径上?
  2. 我是疯了还是不应该#include "libavcodec/avcodec.h"总是失败,因为它会寻找从未存在的libavformat / libavcodev / avcodec.h?

1 个答案:

答案 0 :(得分:0)

结果Phonon是该计划的更好的图书馆选择。