一、下载msys环境,可以直接到这里下载http://msys-cn.googlecode.com/files/MSYS-Update.7z,解压即可
我从来没用过msys,所以后面还会遇到一些看来稀奇古怪的问题,如果你很熟悉,也许不算问题。
例如:安装在C:\work\h264\MSYS-Update下了
二、下载最新的x264代码,可以到这里下载http://www.videolan.org/developers/x264.html
解压到MSYS目录下home文件(没有的话创建)下
C:\work\h264\MSYS-Update\MSYS\home\x264-snapshot-20120801-2245
三、进入msys环境配置编译,可能会提示没有yasm汇编器的错误,可以下载一个yasm汇编器,拷贝到msys目录下的bin目录
命令如下:
./configure --enable-shared
make
这个要解释一下,没用过MSYS,所以开始头晕了。其实是一个模拟linux的环境。
在windows下开一个command窗口,cd 到C:\work\h264\MSYS-Update\MSYS 目录下,会发现一个msys.bat的文件,不用管里面的东西,运行就可以了,会出来一个模拟linux的窗口,在那个窗口里面 cd 到 /home/x264-snapshot-20120801-2245 下面,这是linux的命令了,你可以用pwd看看是不是这个目录,也可用ls 察看文件就是dir。
我在这一步的时候,说我没有权限,退出来了,百思不得其解,因为我是administrator阿,用su也试了,不行,晚上突然醒悟,第二天早上,一试果然,264源码展开的时候,目录或文件被windows设成只读了,所以要把x264-snapshot-20120801-2245 属性改一下,如果你一下OK了,幸运!
yasm汇编器没有,下载http://yasm.tortall.net/Download.html 我下的这个 Win64 .exe (for general use on 64-bit Windows),根据自己的机器自己找一个。下来后文件名要改成yasm.exe 复制到 C:\work\h264\MSYS-Update\MSYS\bin
make成功。
四、使用pexports工具,将库导出
命令如下:
pexports libx264-125.dll >libx264-125.def
这个命令同样是在LInux窗口下用,另外文件名中的125是我用的x264版本号,具体参考自己用的x264版本。
五、使用lib工具导出lib库
命令如下:
lib /machine:i386 /def:libx264-125.def
这个命令是在windows的命令窗口里用。 lib.exe是vc带的一个工具,如果你输入lib回车,说错误的命令的话,就在盘上找找lib.exe
我的在这里 C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin
把他加到 系统环境变量PATH里面(怎么加,根据自己的系统google一下吧)加完后要重新开一个命令窗口才管用。
找到lib后又出了一个问题,说mspdb80.dll这个文件找不到,微软也不是神阿,又搜索了半天这个,还好有个简单的方法。装VC的时候这个应该有,所以你再search一下你的机器。我的在C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE这跟目录下。
然后复制文件从:
C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE
到
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin