1.首先下载该处的X264:
0 a4 \3 o+ N5 @1 U B
4 V! B+ u+ ^1 E% mhttp://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
- Q7 p- u' \; ~1 |/ R4 S: P: _) C
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008& o2 B2 O+ W- o. i/ Q9 e# z
, Q0 E3 g: z8 Q$ j9 b. x
2。下载yasm
% n. C" F1 \2 F, B
! p1 R4 X8 E5 F% I4 Y7 Mhttp://www.tortall.net/projects/yasm/wiki/Download) H6 ^" g; X4 T( J8 f! Y
0 [" J2 U8 ]1 y; L1 h# V
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip0 {( H& Y# o. f" E3 u9 [+ R" v3 a
* o, x" ^3 M% X# i R1 K! k$ ]解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置' d7 I( ?. Z3 P
* C% K( K8 X* X" P9 V5 I将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录+ E5 n: B9 X. J0 V2 S) }" J; P
1 Z L) T2 Y; ]% N3。接下来需要下载自定义生成的模板(自己理解的)
0 U3 _, i. Q7 m0 l& T8 k; O2 T2 F: ]; w) p
VS2008,VS2005下载 yasm.rules http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
! A, D2 Q8 K! e" L2 u b4 J: Z6 }4 `) q2 ~/ W4 G1 _7 q% n
VS2010可直接使用除了EXE外三个文件
" _$ R7 v/ {6 J# N6 I& r/ B
0 G: z4 n( g4 V# _" j4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
$ V' U) |: \( P6 V3 D! A2 B2 E. t5 H, O* O; y5 c) E
VS2010有个一劳永逸的办法,将那三个文件放到, F( l( v* m5 V# ?/ ^7 ~& [% u
# E7 @2 F2 c' I& {0 i# jC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下2 O* N" m5 p. l
8 ]# v0 d% D9 t3 M# f, u5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
' Q2 E7 S$ L2 I \! [/ w3 t: q! O6 R1 o% i! X e
首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。/ k5 W1 k. U9 h+ S# J D+ n
7 e' i, }7 B1 B- |* s7 l- J8 x 然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。
) ~* Y' v/ J3 z/ X2 U w6 ~- b
. T2 l8 H+ n( x 接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
! X/ q4 s& H1 p: R3 j1 @% |+ v+ W; m; j. t1 l
5 z m( H6 n. Z {6 j. y
7 S; J4 y( h: k3 a( F" T7 D将命令行里的yasm改成你放在bin目录下的exe的名字。 如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。2 ]0 V' v, Z: d- R5 R1 p+ D( }
接下来对所有的asm文件进行属性修改,完了后编译就没有什么问题了。 6。编译完了libx264后,会在工程\bin目录下生成个libx264d.lib(因人而异),可以将它提取出来放到VC的lib库里,具体路径:D:\Program Files\Microsoft Visual Studio 9.0\VC\lib中 打开x264的工程。右击解决方案,选择属性,选择C++-->链接器
# d+ k- Y% G7 @& x0 R7 l0 c
/ X( B7 E8 W, G; a将刚才添加的lib名添加到附加依赖选项。 接下来解决方案,生成,是不是没有问题了。嘿嘿! VS2010也同样可以解决。 |