WIN10下使用VS2017的MSVC编译FFMPEG3.4.2动态静态库

之前在Win10下成功编译nginx给了我不少信心,这两天尝试在Win10下编译FFMPEG,没想到给捣鼓成功了,记录一下。

首先下载MINGW,这个文章最后放我打包好的下载地址,直接将压缩包解压到C盘根目录下即可,即安装目录为C:\MinGW

里面已经包含了编译FFMPEG所需要的工具。

解压好后进到目录C:\MinGW\msys\1.0下,对msys.bat文件进行编辑

第二行路径修改为你安装的VS2017路径。

FFMPEG工程可以从我的GIT上下载https://gitee.com/main.c/ffmpeg-3.4.2

里面的Makefile即目录经过了简单修改,去掉了ftools即doc,test等的编译。

直接双击运行msys.bat,进入ffmpeg工程目录下,然后进行项目配置,这里贴下我的配置:

静态库:

./configure --target-os=win32 --disable-debug --enable-static --prefix=./vs2017_build_static --toolchain=msvc --disable-encoders --disable-ffserver --disable-ffplay --disable-avdevice --disable-avfilter --disable-postproc

动态库:

./configure --target-os=win32 --disable-debug --disable-static --enable-shared --prefix=./vs2017_build --toolchain=msvc --disable-encoders --disable-ffserver --disable-ffplay --disable-avdevice --disable-avfilter --disable-postproc

--target-os:目标为Window平台,自然选择win32

--disable-debug:禁用了调试信息

--prefix:这是执行make install后库文件所存放目录

--toolchain:编译器选择,使用VS2017的msvc

--disable-encoders:禁用编码器,因为我只使用解码功能

--disable-ffserver:禁用服务器

--disable-ffplay:禁止生成ffplay测试程序,我给删掉了已经

--disable-avdevice:之后几个disable都是我用不到的库,都禁用了

根据情况执行configure之后会在项目根目录下生成config.h文件,这个文件虽然说不建议编辑,但是要进行一次编辑的,打包保存为utf-8编码,默认是GBK编码,编译会不断弹出编码警告,如果不嫌烦可以不管;

好了,接下来直接make就OK了,正常情况下是不会有问题的;

make完之后执行make install将库文件以及头文件复制到之前配置的存放目录里后就OK了。

接下来讲讲怎么用VS2017去调用静态库,动态库就是生成的dll以及lib文件,没啥好说的,静态库这里生成的是.a文件,乍一看有点晕,因为.a静态库是LINUX下的库文件,在Windows上VS中能用吗?可放心使用,因为使用的是msvc编译的,就像.lib静态库一样使用即可,下面看下我的项目中调用的静态库配置:

好了,就讲这些了,工具包下载地址,一个包总是上传失败,CSDN的BUG不少啊。。。

https://download.csdn.net/download/xinxinsky/10338448

https://download.csdn.net/download/xinxinsky/10338461

808, 905部标流媒体开源项目:https://github.com/Car-eye-team

QQ技术群: 590411159


猜你喜欢

转载自blog.csdn.net/xinxinsky/article/details/79877794