使用VisualStudio2013编译ffmpeg3.1全过程
来源:互联网 发布:mysql的好处 编辑:程序博客网 时间:2024/04/30 11:13
1. 下载YASM:http://yasm.tortall.net/Download.html
选择win64.exe(如果你的电脑是64位)或win32.exe(如果你的电脑是32位)。本人是64位。
2. 下载并安装MSYS2:http://msys2.github.io/ 我将其安装在c盘根目录下,即 C:\msys64\
安装完毕后,需要再使用msys2/usr/bin下的pacman安装几个包(make、gcc、diffutils)。打开cmd.exe,cd至pacman的目录,然后敲入以下命令,进行在线安装:
pacman -S make
pacman -S gcc
pacman -S diffutils
3. 将第一步中下载的YASM***.exe重命名为YASM.exe,并将其拷贝至C:\msys64\usr\bin目录下。
4. 到C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts目录下,运行“VS2013 开发人员命令提示”,启动命令行工具,在其中
输入C://msys64/msys2_shell.cmd 并回车运行,进入msys2控制台。
5. msys2控制台中输入 which cl,以确定其路径为 /c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/cl (用于编译32位的ffmpeg)
6. msys2控制台中输入 which link,以确定其路径为:/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/link (用于链接32位的ffmpeg)
7. 在msys2控制台中,输入命令:cd E://ffmpeg 设定ffmpeg的源码为工作目录。(E://ffmpeg是我下载的ffmpeg源码的存储路径)
8. 输入以下指令并回车,以在当前ffmpeg源码目录下新建Output/x86目录。
mkdir -p Output/x86
9. 输入./configure --help,可以查看编译选项及其意义。
10. 依次输入以下指令编译32位的ffmpeg静态库:
cd Ouput/x86
../../configure --toolchain=msvc --arch=x86 --enable-static --enable-yasm
make
11. 在Output/x86目录下,生成了一系列文件和目录,可以在libavcodec, libavdevice等目录下找到***.a文件,这就是生成的静态库。
12. 如果想要生成64位的库,从上述第4步重新开始,只是在4中要运行“VS2013 x64 本机工具命令提示”,启动命令行工具(进入64位编译环境),其他基本一致,主要区别是,在8中需要创建Output/64目录,后面也是cd到这个目录后进行configure,在第10步中,输入configure命令时,将 --arch=x86改为 --arch=x86_64。
参考链接:
http://ffmpeg.org/platform.html#Microsoft-Visual-C_002b_002b-or-Intel-C_002b_002b-Compiler-for-Windows
https://trac.ffmpeg.org/wiki/CompilationGuide/MSVC#CompilingFFmpegwithexternallibraries
https://trac.ffmpeg.org/wiki/CompilationGuide/WinRT#Windows10x86
https://pracucci.com/compile-ffmpeg-on-windows-with-visual-studio-compiler.html
0 0
- 使用VisualStudio2013编译ffmpeg3.1全过程
- VS2015编译FFMpeg3.2.4
- VisualStudio2013
- Ubuntu编译Android FFmpeg3.24
- VS2015编译FFmpeg3.3.1源码
- VS2015编译FFmpeg3.3.1源码
- Win7+VisualStudio2013编译ARToolKit5.3源码
- ffmpeg3
- CentOS7下编译安装ffmpeg3.1.5
- Ubuntu环境编译FFmpeg3.2.2-for-android
- win10 msys2 vs2015 ffmpeg3.2.2 编译
- win7 msys2 vs2015 ffmpeg3.2.2 编译
- Mac下面编译Android FFmpeg3.2.4
- FFMpeg3.3.3编译Android库文件
- ubuntu 下ffmpeg3.3的编译
- Qt-4.7.1编译全过程
- Qt-4.7.1编译全过程
- windows8.1+ArcGIS10.1+VisualStudio2013安装
- NTP服务及时间同步(CentOS6.x)
- android opengl es入门示例
- LeaveCriticalSection问题的解决方案
- leetcode 406- Queue Reconstruction by Height 贪心算法的应用
- ICPC 2016 DALIAN H To begin or not to begin
- 使用VisualStudio2013编译ffmpeg3.1全过程
- 欢迎使用CSDN-markdown编辑器
- 机器学习之决策树(Decision Tree)&随机森林(Random forest)
- Java NIO框架--Netty4的简单示例
- 知识补充:在本地和gitlab上创建新分支以及字符串strcpy和直接等于
- 分布式缓存--系列2 -- Redis Cluster
- ACM日志 字符串统计 (java)
- debug版本与release版本
- ORB-SLAM2详解(四)跟踪