在 Windows10 上配置 FFmpeg

在windows10,VS2010 上配置FFmpeg,64位

一、 下载

Win10 + VS2010 + FFmpeg + 64位

下载FFmpeg地址如下:  https://ffmpeg.org/download.html#build-windows

绿色的Download下载最新的,但是为了稳定,还是选择以前的常用版本,且下载编译好的。如图所示:

在 Windows10 上配置 FFmpeg

 进入previous builds ,本机下载的是64位,大家因需求而异。

 

在 Windows10 上配置 FFmpeg

Dev里面包含include 和 lib库,include里面是头文件,lib库包含所有函数和方法。

Shared里面是 dll的动态库,运行exe文件时,需要。

 

在 Windows10 上配置 FFmpeg

注意两个版本下载要一致。   这里,我下载的版本是3.2.4 :

在 Windows10 上配置 FFmpeg

二、 配置文件

打开VS2010,创建一个win32控制台应用程序,可包含预编译头。

在项目中,添加三个文件,分别是 : include  lib  bin

解压下载的dev压缩包,① 将include中的文件全部复制到项目的include中;

② 将lib中的.lib文件全部复制到项目的lib中;

③ 解压shared压缩包,将bin中的.dll文件,全部复制到项目中的bin文件中。

不清楚过程的,请看下面1-3图。

在 Windows10 上配置 FFmpeg

在 Windows10 上配置 FFmpeg

在 Windows10 上配置 FFmpeg

将项目改为64位debug和release,然后下面的操作在release下进行。也可以在debug下进行。

在 Windows10 上配置 FFmpeg

 

添加:项目->属性->VC++目录-> 包含目录和库目录(此图错误,请继续往下看。):

在 Windows10 上配置 FFmpeg

 

添加:项目->属性->链接器->输入->附加依赖项:

在 Windows10 上配置 FFmpeg

红框内容,避免屏幕一闪而过;绿框内容为添加的初始化。

在 Windows10 上配置 FFmpeg

代码如下,避免大家自家敲:

#include "stdafx.h"

#include<iostream>

extern "C"

{

   #include "libavcodec/avcodec.h"

   #include "libavformat/avformat.h"

}

 

int _tmain(int argc, _TCHAR* argv[])

{

   av_register_all();

   system("pause");

   return 0;

}

三、开始编译工程

①  编译,出错了!莫方!

1>d:\practice\vs2010test\test\include\libavutil\common.h(35): fatal error C1083: 无法打开文件:“inttypes.h”: No such file or directory

提示找不到  inttypes.h。

网上下载此文件,然后放进VS的安装路径。

在 Windows10 上配置 FFmpeg

 

②  又出现新错误:

在 Windows10 上配置 FFmpeg

该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

解决方法:

在Project -> Properties -> Configuration Properties -> C/C++ -> Advance 的 Disable Specific Warnings 中添加相应的警告编号:4819;

在 Windows10 上配置 FFmpeg

 

③ 又又双出现问题了:

在 Windows10 上配置 FFmpeg

在 Windows10 上配置 FFmpeg

哦,原来是前面设置的时候,搞错了。

④  又又双叒这个错误,我都方了。但是还是要有信心,继续干掉它!不过现在还是先放一下。

在 Windows10 上配置 FFmpeg

 

四、 debug

上面的过程是在release下进行的,下面改为debug,项目中的配置修改同上。

① 结果又出现了这个问题。继续找方法:

在 Windows10 上配置 FFmpeg

 

解决方法一: 将dll 都复制到与bin同级的debug文件夹中。结果失败。

在 Windows10 上配置 FFmpeg

 

解决方法二: 将dll 都复制到test->x64下的debug文件夹中。结果通过。同理,dll也需要复制到test->x64下的release文件夹中。

 

在 Windows10 上配置 FFmpeg

一个完美的黑框!!!激动的很!!!

在 Windows10 上配置 FFmpeg

再添加两行代码,查看一下版本号:

在 Windows10 上配置 FFmpeg

至此,debug算是比较完美的收官。

 

五、 上面的release版本,依然有问题,现修改release版本下的代码,如下:

经查找,代码修改如下:

#include "stdafx.h"

#include<iostream>

extern "C"

{

   #include "libavcodec/avcodec.h"

   #include "libavformat/avformat.h"

#include "afxmt.h"

}

 

int _tmain(int argc, _TCHAR* argv[])

{

   avcodec_register_all();

   av_register_all();

   system("pause");

   return 0;

}

新错误:

在 Windows10 上配置 FFmpeg

#error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

网上查找修改以下两个地方,但是我修改后,又出现了新问题,还真是问题不断呀!

然后我也无能为力了,毕竟也是新手,等以后积累更多知识的时候,也许就能轻松解决了。

在 Windows10 上配置 FFmpeg

在 Windows10 上配置 FFmpeg