1.首先下载该处的X264:
( e& D1 ^+ T. O5 R. Z9 p! V( O9 V0 q9 G! \8 ?( _5 I$ `# l( f
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
3 K2 ~* o1 j. V& h# A. k
' T9 A, ~7 z4 l: Z作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS20082 V, U- \. q# q: _$ E9 Q3 l/ c4 U% {
9 N7 l/ W4 `! ], i4 L5 S
2。下载yasm
/ z, B2 S) K: P( `* i- i
& D8 q" G5 s$ h" f0 g9 S G) Rhttp://www.tortall.net/projects/yasm/wiki/Download$ Y; w& y$ }7 x. ~6 Z7 C6 m
0 Z e# m0 x; U* I* d% X8 b* Y4 z选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip
; h/ I: h: F: c" K
1 j( i+ _) N$ F* e% ]( Q k: G解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置% R3 B* S( F0 v" z5 n7 F7 n2 f; C
9 g' M' H/ k- {. @1 |# v2 e将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录 K* S j' H8 H0 n
9 s/ d( x' O$ e% Y' S; [
3。接下来需要下载自定义生成的模板(自己理解的)
7 h, \# l$ |( o1 k8 s
5 M6 O. Y3 Q- w1 }8 c% T( ~! kVS2008,VS2005下载 yasm.rules http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
: \+ x/ [& c' i: W+ U$ X
! w: w+ i5 g- sVS2010可直接使用除了EXE外三个文件
) f0 j* {. |* ?" a$ b) F) N7 X0 L. x r* d7 ~ G: B: h# s" a
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
7 B \8 M/ K4 e" E5 k
- w6 D- [, k/ M4 W1 oVS2010有个一劳永逸的办法,将那三个文件放到
1 f' U( |- E+ s
. Q* C; j7 S) r( Q# U: HC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下; I% r" n3 s" E4 v+ D* d
4 A) t( o+ y$ o
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
$ M2 ^, {' R! O1 C
1 G) D# Z/ f) a$ ?$ E( ? 首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
) l* d( o! k8 e& N* H4 D" w$ `4 u; n! r( u, A3 ^
然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。! d5 T: d( y# { R
0 {& W% n) o! ^: ^; ]# q, W( ?& V% x: N
接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
) Y+ C0 A- y8 P" {2 o5 M' s
4 p& E" i, C! c6 {2 y* k/ @/ G! U, W5 B
/ N2 r; C1 P/ J0 w$ e$ m6 a将命令行里的yasm改成你放在bin目录下的exe的名字。 如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
0 F) f+ w2 g5 o+ v0 e 接下来对所有的asm文件进行属性修改,完了后编译就没有什么问题了。 6。编译完了libx264后,会在工程\bin目录下生成个libx264d.lib(因人而异),可以将它提取出来放到VC的lib库里,具体路径:D:\Program Files\Microsoft Visual Studio 9.0\VC\lib中 打开x264的工程。右击解决方案,选择属性,选择C++-->链接器
: T$ z- y8 I; J, [5 a* C; O1 q- u* M* V" `( u( I
将刚才添加的lib名添加到附加依赖选项。 接下来解决方案,生成,是不是没有问题了。嘿嘿! VS2010也同样可以解决。 |