https://blog.csdn.net/bobsweetie/article/details/50858358

https://blog.csdn.net/csdnwei/article/details/72628162

https://blog.csdn.net/uselym/article/details/78040225?locationNum=3&fps=1

VS2015编译ffmpeg 3.4.2

界面组件用的:mintty

http://www.codelive.cn/index.php/archives/70/
https://www.cnblogs.com/CoderTian/p/7702731.html

使用VS2015编译ffmpeg 3.4.2的过程记录。

1.下载安装MSYS2,pacman可以省略,执行后面的直接安装组件

http://www.msys2.org/
pacman -Syu
pacman -Su

2.安装必须的组件

pacman -S git gcc make diffutils nasm yasm tar pkg-config

3.下载ffmpeg 3.4.2

wget http://ffmpeg.org/releases/ffmpeg-3.4.2.tar.bz2

下载后路径:D:\msys64\home\sbdya

4.解压:

bzip2 -d ffmpeg-3.4.2.tar.bz2
tar -xvf ffmpeg-3.4.2.tar

5.改名msys2下的link.exe,防止和VS2015的link.exe冲突

mv /bin/link.exe /bin/link_bak.exe

6.在开始菜单中运行 VS2015 x64 Native Tools Command Prompt

7.在控制台中运行:

d:\msys64\msys2_shell.cmd -mingw64 -msys -use-full-path

检查编译组件:

which cl link yasm cpp

#显示如下内容

/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/amd64/cl

/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/amd64/link

/usr/bin/yasm

/usr/bin/cpp

04.04 修改msys2窗口代码页为GBK,避免编译时显示乱码。
在窗口上右击鼠标,选择[Options]菜单,选择[Text],locale选择:zh_CN,Character set 选择 GBK。 

8.开始编译ffmpeg

cd ffmpeg-3.4.2/

./configure --toolchain=msvc --enable-shared --disable-static --disable-debug --prefix=./out/

make -j4 && make install

./configure --toolchain=msvc --enable-shared --disable-static --enable-encoder=libx264 --enable-encoder=mjpeg --enable-encoder=mpeg4 --enable-gpl --disable-debug --enable-x86asm\

--enable-libx264 --extra-cflags=-I/home/x264-bin/include --extra-ldflags=-LIBPATH:/home/x264-bin/lib --prefix=./out/

编译成功,在out目录下面;

其中的报错:

1.c++ 常量中有换行符

fftools/ffprobe.c(3047): error C2001: 常量中有换行符

我就把这一行ffprobe.c的3047行打印字符给注释了,两处代码:

//av_log(NULL, level, "%sbuilt with %s\n", indent, CC_IDENT);

//print_str("compiler_ident", CC_IDENT);

还有如下报错:也是因为CC_IDENT引起的,解决方法就是上面注释

fftools/cmdutils.c(1119): error C2065: “slib”: 未声明的标识符
fftools/cmdutils.c(1119): error C2296: “%”: 非法,左操作数包含“char [138]”类型
fftools/cmdutils.c(1119): error C2059: 语法错误:“数字上的错误后缀”
fftools/cmdutils.c(1119): error C2059: 语法错误:“%”
fftools/cmdutils.c(1119): error C2017: 非法的转义序列
fftools/cmdutils.c(1119): error C2001: 常量中有换行符
fftools/cmdutils.c(1150): error C2143: 语法错误: 缺少“)”(在“*”的前面)
fftools/cmdutils.c(1150): error C2143: 语法错误: 缺少“{”(在“*”的前面)
fftools/cmdutils.c(1150): error C2059: 语法错误:“)”
fftools/cmdutils.c(1151): error C2054: 在“options”之后应输入“(”
fftools/cmdutils.c(1252): error C2143: 语法错误: 缺少“)”(在“*”的前面)
fftools/cmdutils.c(1252): error C2143: 语法错误: 缺少“{”(在“*”的前面)
fftools/cmdutils.c(1252): error C2059: 语法错误:“)”
fftools/cmdutils.c(1253): error C2054: 在“avclass”之后应输入“(”
fftools/cmdutils.c(1261): error C2275: “AVInputFormat”: 将此类型用作表达式非法

VS2015编译ffmpeg 3.4.2相关推荐

  1. vs2015编译ffmpeg

    参考如下几篇博客,一般就能成功: https://blog.csdn.net/ET_Endeavoring/article/details/75331359 https://blog.csdn.net ...

  2. 使用 VS2015 编译并调试 ffmpeg

    导读 ffmpeg 是音频处理方面非常强大非常有名的开源项目了,然而如 雷神 所说,"FFMPEG 难度比较大,却没有一个循序渐进,由简单到复杂的教程.现在网上的有关FFMPEG的教程多半难 ...

  3. [笔记]OpenCV+FFmpeg+Qt实现视频编辑器之OpenCV vs2015编译

    参考 文章目录 一.环境 二.cmake构建 2.1 打开cmake-gui 2.2 配置路径 2.3 点击Configure 2.3.1 选择编译器和编译平台 2.4 再点击Configure 2. ...

  4. vs2015编译基于obs-studio的阿里巴巴直播工具tblive

    vs2015编译基于obs-studio的阿里巴巴直播工具tblive 开发环境 vs2015+QT5.9.7 因为tblive使用的是vs2013,故需要用到v120平台工具集,如果没有安装可通过控 ...

  5. vs2015编译linux源码,使用Visual Studio 2017(VS2017)编译OpenCC 1.0.4 (Open Chinese Convert)源代码...

    摘要:本文介绍了Win7 64位环境下OpenCC(Open Chinese Convert) 1.0.4源码编译全过程,除VS2017外,VS2013以上版本也应该基本同样适用,其他版本的Windo ...

  6. 【FFmpeg】Hello World!尝试如何编译FFmpeg程序

    1.说明 下面的例子只演示,编译FFmpeg时用的头文件和库,不涉及编解码,只调用一个可以打印编译FFmpeg库的配置项的接口:avcodec_configuration() 2.avCfg.c #i ...

  7. Android NDK开发之旅29 云服务器Ubuntu下搭建NDK环境,并编译FFmpeg

    ###前言 因为在Linux环境下编译FFmpeg生成库和头文件下比较方便,所以接下来主要操作在Linux环境下进行.但是对于Android NDK 开发新手来说,自己电脑配置Ubuntu Linux ...

  8. 开源项目:windows下使用MinGW+msys编译ffmpeg

    本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处.     FFmpeg是在Linux平台下开发的, ...

  9. Ubuntu 下编译ffmpeg和x264解编码器(翻译的一篇文章:)

    拿出自己一篇早期接触Ubuntu时翻译的文章,对逝去的SEO-DIC.COM.CN这个网站默哀. Ubuntu 下编译ffmpeg和x264解编码器 今年初由于个人的一些原因和其它因素:希奥开源(ht ...

最新文章

  1. Serial Communications in Win32
  2. JS 做的鼠标放大镜(初级)
  3. 成为指标的“绝地武士”:tableau创建指标的 10 个技巧和窍门
  4. 使用VMware VSphere WebService SDK进行开发 (四)——获取集群(Cluster, ComputeResource)的相关信息
  5. 【BZOJ 2753】 2753: [SCOI2012]滑雪与时间胶囊 (分层最小树形图,MST)
  6. vuejs粒子动画特效 npm安装插件vue-particles(particles.js) - 代码篇
  7. 修改数据库端口为51433
  8. 了解 object.defineProperty 的基本使用方法(数据双向绑定的底层原理)
  9. weblogic部署方式
  10. Python学习笔记总结
  11. 60、剑指offer--把二叉树打印成多行
  12. 突然想起来几年前我写的 !
  13. 食品品牌最全VI目录 - 塔望食品品牌全案策划VI设计清单
  14. 自家主机建云服务器_用云主机还是自己建服务器好
  15. SEO入门知识3:不能传递权重的链接
  16. XML解析及JSON解析
  17. 一般人看不透!沉默的大多数用户才是产品发展的关键!
  18. ccd坏点测试软件,如何检测CCDLCD坏点
  19. 电脑耳机没声音怎么设置?(win7/win10电脑耳机没声音的解决方法)
  20. 《Rethinking Efficient Lane Detection via Curve Modeling》论文笔记

热门文章

  1. 静态html页面传递参数,javascript静态页面传值的三种方法分享
  2. 内核数据结构之红黑树
  3. go语言学习(一)——go语言简介和环境搭建
  4. 面试后说hold什么意思_民间说的命硬是什么意思?
  5. js java cookie_JS 打开一个模式窗口,使用Cookie传递一个参数
  6. linux string split,linux下awk内置函数的使用(split/substr/length)
  7. vscode从原有分支上新建_GitHub+VSCode 打造稳定、快速、高效、免费图床
  8. 因“薪水太高”被欠薪3个月、后又遭解雇?程序员愤怒反击!
  9. Redis 是并发安全的吗?你确定?
  10. 用谷歌搜索技术问题一定比用百度好?也未必...