1.首先下载该处的X264:
9 T; {8 H3 r9 z; c' \( o- @# x6 Q
* A# J1 S$ {8 A% |, G+ `http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
D4 ?' c, K3 [* v9 W4 f0 P1 R1 d7 ^9 Z( ?: @! p7 ?" U
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS20080 S5 B. P/ S+ y1 @0 Y
% t6 I9 r! Y+ u k/ I0 y3 M
2。下载yasm
8 {' e# U/ W% A6 f$ A" P
5 r* |% v0 K7 h) f# |8 [) }" K5 r3 B$ Bhttp://www.tortall.net/projects/yasm/wiki/Download1 D: G% L* |- k3 }7 D+ P' f+ l
% H! Z+ {. s+ L% S5 b1 T. ~7 q* o
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip
, ~* p7 a$ W6 I9 v5 {
* _0 d% i, R# q# R$ [解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置+ ?# e! K6 {5 J% d- F4 I/ W$ Q8 p- q
# O/ z' j5 p) a* q6 ^( g
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录
, f* O; v0 y: V3 H' W8 G" m( L2 p) E1 q- y: c8 e
3。接下来需要下载自定义生成的模板(自己理解的)+ P) a: H! G$ y: O$ u/ [3 R7 w
8 ]9 ~" V6 r& `* t6 U' oVS2008,VS2005下载 yasm.rules http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
" g2 M# q4 W) f5 w. \9 g, e: Z, q* n ^8 s2 @" O
VS2010可直接使用除了EXE外三个文件
/ i# J7 K& H# J& ]2 D! r" M2 b' _7 r1 a# `3 k8 ]
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32! k, p, M3 _" G A5 ~& W
8 V, c8 o4 v' Z8 ^' f1 dVS2010有个一劳永逸的办法,将那三个文件放到
5 Q1 Q0 m, c) [( s6 H" A3 T8 F% P* k0 P( B; ]$ x: L, d
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下1 t( I/ a. t& u- u9 g
2 E( |5 {8 O. b% P K( D1 }7 x! `
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
" U& D& X( p V6 K
( d& R0 D( R/ z+ }9 f 首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
, L! L9 r7 \! L% Y6 t5 B# y& w( h! z, P6 |$ |$ w; R3 v
然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。' ?, }3 L1 n5 u! f
# C! `& T! G7 \: v
接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改: 8 t9 |1 T2 N( V2 s9 e% A6 V
) J& ~# X3 V% W# k
- w2 w5 @( e3 ~- P4 E4 Z6 N5 k
0 O4 K; A# G( t+ F
将命令行里的yasm改成你放在bin目录下的exe的名字。 如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
0 T! n, W! ^& |% U2 k& K 接下来对所有的asm文件进行属性修改,完了后编译就没有什么问题了。 6。编译完了libx264后,会在工程\bin目录下生成个libx264d.lib(因人而异),可以将它提取出来放到VC的lib库里,具体路径:D:\Program Files\Microsoft Visual Studio 9.0\VC\lib中 打开x264的工程。右击解决方案,选择属性,选择C++-->链接器 ) F" q3 t1 c3 z8 y E+ @' X! q/ z
" I" i j6 i V- B# X
将刚才添加的lib名添加到附加依赖选项。 接下来解决方案,生成,是不是没有问题了。嘿嘿! VS2010也同样可以解决。 |