ffmpeg Windows开发环境搭建
时间: 2019-01-31来源:OSCHINA
前景提要
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
一、在windows上搭建基于ffmpeg解决方案的开发环境
系统 : Windows 10 x86_64系统 i5 4核cpu 8gb内存
工具: Visual Studio Community 2007
库文件和头文件:ffmpeg 开发库,这里需要Shared、Dev库,下载地址为《 Windows ffmpeg Build 》



Shared 动态库dll : 以及依赖dll的可执行文件。

Dev开发库: 包含FFMPEG头文件的include,包含静态库的lib 【这种静态库只包含头元信息,这是需要Shared库原因】

注意:Shared和Static库原则上必须保持同一版本,否则可能无法引用

假设以上文件放置目录如下:

include 头文件 d:/ffmpeg/include
lib 静态库 share 动态库
d:/ffmpeg/lib d:/ffmpeg/share

二、配置开发环境
1、根据自己的需要创建Visual C++的应用项目
2、环境配置
2.1 打开项目属性面板

2.2 选择【VC++目录】,配置include位置和lib

2.3 接下来选择【链接器 -> 输入 】中的【附加依赖项】进行编辑,添加静态库引用

正常情况下项目配置完成了,但是ffmpeg提供的lib文件不包含代码实现部分,因此我们需要添加dll库进来,这样运行会提示找不到dll文件。

3、添加dll动态链接库
添加dll文件的方式有2种,一般来说,我们需要把dll放到项目的根目录下,当然还有另一种方式就是链接的方式。
3.1 、添加dll到项目目录下
在visual studio 下,第一层路径为【解决方案路径】,dll需要放置到解决方案路径下的子项目中,换种说法是放置到包含vcxproj文件的目录下。这种方式一般用于项目发布。
因此,拷贝dll到项目目录下即可。

3.2、临时修改环境变量
运行环境会扫描path路径,可以将share库目录添加到path中,同样也可以临时性修改。


三、代码开发注意事项
1、由于ffmpeg 是基于gcc标准开发的,因此在msvc上,需要关闭SDL检查

2、Visual Studio系统创建的项目是C++程序,引入的header需要注意
extern "C"{
#include ....
}
3、msvc编译时强制要求预定义__STDC_CONSTANT_MACROS,因此合并第二个,#include部分可以如下使用 #ifdef __cplusplus extern "C" { #ifndef __STDC_CONSTANT_MACROS #define __STDC_CONSTANT_MACROS #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #include <libswscale/swscale.h> #include <libavutil/avutil.h> #endif } #else #ifndef __STDC_CONSTANT_MACROS #define __STDC_CONSTANT_MACROS #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #include <libswscale/swscale.h> #include <libavutil/avutil.h> #endif #endif
3、编译时cpu arc选择x64


综上,开发环境配置完成。

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行