来源:http://blog.csdn.net/lezhiyong
本人在windows下编译x264,得益于参考文章《windows下使用MinGW+msys编译ffmpeg》,下面流程基本参考该文章,并补充了一些细节。
一准备环境:
1 下载 mingw 和 MSYS
去http://www.mingw.org/或去 http://sourceforge.net/projects/mingw/ 下载
下载类似:mingw-get-inst-20110802.exe 的文件。
提示:msys此处就不用下载了,mingw-get-inst-20110802.exe 中已经包含了msys1.0,后面安装的时候就可以看到该选项。
2 下载 yasm
x264编译里面的汇编代码需要yasm.exe
去官网:http://yasm.tortall.net/Download.html 下载:Win32 .exe (for general use on 32-bit Windows)
文件名为:yasm-1.1.0-win32.exe
3 下载 x264
http://videolan.mirror.aussiehq.net.au/x264/snapshots/解压到MSYS目录下home文件下
5 下载 pthreadGC2.dll
pthreadgc2.dll是功能强大的处理数字化影视作品编辑软件premiere6运行所需的一个DLL文件。
二编译步骤
1 安装 mingw 和 msys
执行下载文件:mingw-get-inst-20110802.exe,
在第3步选择“Download latest repository catalogues”
选择安装路径:C:\MinGW(我直接采用默认路径,未做修改)
在“Select Components”步骤中选择:
√ C Compiler (默认且一定选择)
√ C++ Compiler
√ MSYS Basic System(选择此项将会安装msys,msys则不需要另外安装)
√ MinGW Developer ToolKit
等待安装完成。
安装完成后,在C:\MinGW目录下可以看到 msys 文件夹,msys也已经安装。
2 配置让x264编译时产生windows下调用dll对应的lib(本人无这个需要,此步没做)
为了方便VS200X以及VS2010调用x264的动态库,可以通过配置让x264编译时产生windows下调用dll对应的lib,当然,如果你没有这个需要,那么就可以省略以下处理,直接进入步骤3。
进入:C:\MinGW\msys\1.0\文件夹,使用UltraEdit打开msys.bat文件,在文件的最最前面加入如下一行:
call "D:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
其中“D:\Program Files\Microsoft Visual Studio 10.0”为你机器上安装VS200X或VS2010的目录,我的电脑安装的是VS2010,并且安装在了D盘。文件修改后保存即可。
添加完成了以后,就可以运行下msys.bat这个文件了,然后键入 gcc -v,如果出现的不是什么 no command 和 no input file什么的,而是出现了一些版本的信息,证明MinGW安装对了。
3 配置 yasm
为了减少配置环境变量的麻烦,本处直接把 yasm-1.1.0-win32.exe 文件名修改成:yasm.exe,并放到系统目录下:C:\WINDOWS\system32。
8 编译x264
双击“C:\MinGW\msys\1.0\msys.bat”,启动“MinGW32”,
切换到当前x264所在目录:C:\MinGW\msys\1.0\home\x264,
切换方法如下:
$ cd /c
$ cd MinGW
$ cd msys
$ cd 1.0
$ cd home
$ cd x264
再执行以下命令:
//$ ./configure --enable-shared --disable-static --enable-memalign-hack
$ ./configure --enable-shared
$ make
请耐心等待一段时间$ make需要等待很长一段时间,等待编译结束。
为了汇总编译结果,请继续执行以下命令:
$ make install
等待完成,在C:\MinGW\msys\1.0\local中将会生成 bin、include、lib等文件夹,其中包含了x264.exe、ibx264-112.dll、lib和头文件等。
附录:
report any bugs to the mailing list. If it is a crash, then compile x264 with `./configure --enable-debug
--enable-shared:编译动态库文件