对于第一个问题,现在找到了一点原因,
因为ffmpeg是c程序,所以在编译的时候需要在头文件中加入
extern "c" {
#include <ffmpeg/avcodec.h>
#include <ffmpeg/avformat.h>
}
这样就可以编译过了,但是又有一个新问题,就是关于SDL,现在程序虽然可以运行,但是,SDL还是不能嵌入到一个Qt的widget中,
我是先继承一个qwidget类,然后在这个类的构造函数里面来对sdl进行设置,最后调用ffmpeg的函数来解码视频流,最后把视频通过sdl的SDL_DisplayYUVOverlay()函数来显示画面,接下来按照网上有人说的,
char variable[64];
sprintf(variable, "SDL_WINDOWID=0x%lx",QWidget::winId());
putenv(variable);
来进行qt和sdl的联系,但是运行是好像没什么用。
谁知道怎么才能把SDL可以嵌入式到widget中吗?谢谢!!