我正在尝试在 C++/Qt 中的 Windows 上使用 ffmpeg 库。这是我的主要功能:
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
#define INT64_C(val) val##LL
#define UINT64_C(val) val##ULL
#include <QtCore>
#include <SDL/SDL.h>
#ifdef __MINGW32__
#undef main
#endif
//--------------- FFMPEG Headers and Libraries ---------------
extern "C"
{
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
}
int main(int c, char *args[])
{
av_register_all();
AVFormatContext *ctx;
if(avformat_open_input(&ctx,"salam.avi",NULL,NULL)!=0)
return -1;
return 0;
}
它被编译和链接得很好。但是当我尝试运行它时出现此错误:
程序已意外完成
这发生在 *avformat_open_input* 函数上。有什么问题?是关于我的代码,还是我的库有问题?
提前致谢