1.首先下载该处的X264:
. ]* H& l. O; ~( P/ \3 {4 Q) x0 E+ S( x( a4 T
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
1 L' y" @+ F8 R8 E. N2 H% ~
. C; f- c# y5 Z! e8 a: J- u' k7 L作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008- k3 O3 d" g; g8 \
4 r8 G& [) m3 {, |/ G. Y) |2。下载yasm
|. i; s4 E1 B/ @' E- I7 w
2 w. ?4 M4 t8 j" Shttp://www.tortall.net/projects/yasm/wiki/Download) o N$ `( ]/ h4 T9 _
; o8 h8 \8 L9 [8 E6 W+ r+ u6 \
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip
' ^0 g% {" }% S8 s$ z! {; `) p. y# m) O4 B2 X7 m0 t2 R \0 g
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
' K6 a- e; [; r; ~- _) }$ F
- D$ i3 A9 M% Y" W# c6 Y将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录% m, w( h+ P3 ^( `/ f( q9 ^
6 `% H0 f8 K7 S3 P+ q& n& M9 ^" k3。接下来需要下载自定义生成的模板(自己理解的)
2 h2 R4 k# {$ i! E; h6 ] \/ G0 |8 y! o) z, N0 {' d
VS2008,VS2005下载 yasm.rules http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules# L- Y0 F. J5 G+ K4 S3 V3 _
: ]1 {2 ~! g# {$ H) Z3 D" B2 T. A
VS2010可直接使用除了EXE外三个文件
- m9 K+ X; n! E1 Z8 `+ s: b8 e% H/ m/ o T! G: ?' y( ~
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
( p6 z' m% m$ X0 T* l; [( O
- q& L3 F. R. W4 X6 u6 W6 PVS2010有个一劳永逸的办法,将那三个文件放到" s- b+ P" U$ ^( C# g; `' E
Z( P, `+ e- i) `& T7 @
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下! V4 i. M# _7 |0 @9 O! t
$ j7 h- [: D, d- P5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
0 T5 u4 l) h: k# H: }/ |9 a' N# a) ?( k
首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。- G% {' y$ T' k
2 L8 u5 |# Q& P% {) E, G 然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。2 v2 y \8 j1 `+ U/ `* j/ ]* }0 y! P
# F; e* X8 \! W0 W 接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改: ; C( y2 N7 y# V' t) W0 i0 ]8 Q( Z. A
+ J3 {# c% Q) z8 a n
5 q3 f! P% ~4 k4 z5 L: d0 d4 b, `% L) Z
将命令行里的yasm改成你放在bin目录下的exe的名字。 如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
6 }2 u0 j/ c' V) I/ E 接下来对所有的asm文件进行属性修改,完了后编译就没有什么问题了。 6。编译完了libx264后,会在工程\bin目录下生成个libx264d.lib(因人而异),可以将它提取出来放到VC的lib库里,具体路径:D:\Program Files\Microsoft Visual Studio 9.0\VC\lib中 打开x264的工程。右击解决方案,选择属性,选择C++-->链接器 # R' U. H! U1 v7 M5 n# q
# v. S ?$ [* d
将刚才添加的lib名添加到附加依赖选项。 接下来解决方案,生成,是不是没有问题了。嘿嘿! VS2010也同样可以解决。 |