在VS2010上搭建FFMPEG环境与SDL环境配置

来源:互联网 发布:java 抓取网页内容 编辑:程序博客网 时间:2024/05/16 12:50

参考:http://blog.csdn.net/huangqi734044860/article/details/60956995 点击打开链接

  1. 下载FFMPEG

传送门: https://ffmpeg.zeranoe.com/builds/

在这里下载的是2.5.2-win32的版本。

步骤,按照 http://blog.yundiantech.com/?log=blog&id=7 这里。

 

  1. 编写代码等。

  1. 代码如下

    #include <iostream>

    using namespace std;

    extern "C"

    {

    #include "libavcodec/avcodec.h"

    #include "libavformat/avformat.h"

    #include "libswscale/swscale.h"

    #include "libavdevice/avdevice.h"

    };

    int main(int argc, char *argv[])

    {

    cout<<"Test"<<endl;

    av_register_all();

    cout<<avcodec_version()<<endl;

    int aaa;

    cin>>aaa;

    }

  2. 编译运行

    出现一些问题:

  3. 问题a:

    fatal error C1083: Cannot open include file: 'inttypes.h': No such file or directory

     

     原因:

    没有找到头文件。inttypes.h

    参考:http://blog.csdn.net/ly402609921/article/details/9030635

    解决方法:

    步骤一:下载 FFmpeg-full-SDK-3.2.rar,里面有头文件inttypes.h

    传送门:http://download.csdn.net/detail/hslaiyaya/4423897    

    步骤二:将inttypes.h文件拷贝到FFMPEG libavutil 目录下面

    步骤三:将common.h文件中,修改#include <inttypes.h>  #include "inttypes.h"

  4. 问题b:

    符号未解析:

    error LNK2019: unresolved external symbol _avcodec_version referenced in function _main

    error LNK2019: unresolved external symbol _av_register_all referenced in function _main

     

    原因:在vs2010中,没有找到对应的lib文件。

    解决方法:

    步骤一:

    右击工程,点击属性,配置工程--连接器--通常--添加lib目录

    步骤二:

    右击工程,点击属性,配置工程--连接器--输入--添加依赖

    步骤三:将ffmpeglib文件,加入依赖项中

    步骤四:保存,退出。

  5. 问题c:

    缺少动态库

    原因:没有找到ffmpeg的动态库

    解决方法:

    步骤一:下载2.5.2-win32shared版本,将bin目录下面的所有文件拷贝到与应用程序一致的目录

    1. 运行结果(成功)

SDL环境配置和 ffmpeg配置类似参考步骤1和2


原创粉丝点击