概述
需要的文件:
(inttypes.h,stdin.h为C99标准定义了stdint.h、inttypes.h,用于统一的跨平台数据定义。VC2010有stdint.h,没有inttypes.h,inttypes.h可以到这里下载
http://code.google.com/p/msinttypes/)
1.新建工程,打开属性管理器,这里只配置Debug(Release配置方法相同),双击打开Microsoft.cpp.win32.user
选择"VC++目录","包含目录"填入ffmpeg头文件目录,"库目录"填入ffmpeg的lib所在目录
2.点击"链接器"->"输入"在附加依赖项中加入要链接的库
(也可以在代码中链接库
#pragma comment(lib,"avcodec.lib")
#pragma comment(lib,"avformat.lib")
#pragma comment(lib,"avutil.lib")
#pragma comment(lib,"swscale.lib")
}
3.编写代码
可能出现的错误
error LNK2019: 无法解析的外部符号 "void __cdecl av_register_all(void)" (?av_register_all@@YAXXZ),该符号在函数 _main 中被引用
.....
.....
.....
原因:老版本的ffmpeg头文件中有
#ifdef __cplusplus
extern "C"{
....
}
....
#endif
#ifdef __cplusplus
}
#endif
所以在编译时能够正确的以C语言的方式进行编译和链接
新版本的头文件中没有上面宏编译,所以需要自己在代码中以C的方式包含头文件
#ifdef __cplusplus
extern "C" {
#endif
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libutil/avutil.h>
#ifdef __cplusplus
}
#endif
最后
以上就是含糊板栗为你收集整理的VS2010中使用ffmpeg的全部内容,希望文章能够帮你解决VS2010中使用ffmpeg所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复