CodeBlocks下使用FFmpeg(2)

main.cpp代码

#include 
#include 
using namespace std;
extern "C"
{
    #include 
    #include 
    #include 
}
int main(int argc,char* argv[])
{
    //注册所有设备
    av_register_all();
    //获取许可证版本号
    printf("FFmpeg License:%s \n", avcodec_license());
    cout << "Hello world!" << endl;
    return 0;
}

这是个很简单的ffmpeg程序,注册所有设备,然后返回当前ffmpeg版本的许可证书。但我们编译这个程序时。会提示出错。
‘UINT64_C’出错,如何修改呢?我们打开D:\media\ffmpeg-20171130-83ecdc9-win32-dev\include\libavutil\common.h头文件。在里面加入以下代码:

#ifndef INT64_C
#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)
#endif

保存,重新编译。通过。代码加在什么地方。我是这样加的

#ifndef AVUTIL_COMMON_H
#define AVUTIL_COMMON_H
 
#ifndef INT64_C
#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)
#endif

当运行程序后,显示:

FFmpeg License:GPL version 3 or later

到此第一个ffmpeg程序建立完毕。

你可能感兴趣的:(CodeBlocks下使用FFmpeg(2))