找回密码
 注册
搜索
查看: 5144|回复: 0

菜鸟完整版win32 vs2008 2010编译X264的过程

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:
0 d4 b5 B$ X* P4 [% S7 z5 {, Z) n4 h% w' ?' D0 d# u6 P, \
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
* o( ]; g' {9 ~7 N
+ W* S2 I- Q% `; A- `作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008  ?# e/ |) o4 \' P6 a: m

) d" g9 w# v, h  }4 J0 j2。下载yasm8 ~! G* T% u5 V/ f2 H, J7 b* c
- u! @; C8 B# I5 b% \$ T2 d
http://www.tortall.net/projects/yasm/wiki/Download( G  k/ s, v. g! f. C2 G/ ^* k
$ z: {( x0 N; O6 G$ T; ]7 q
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip# j# T' y$ c1 U9 r" M4 Y
0 I6 D' c2 B5 f$ R# I3 M" L8 H
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置# _+ Q8 L5 t9 I" W: Q' X
+ {& q  H& o: v: R7 M
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录
' N# }4 k) x. J4 i5 N* J3 c
; G0 Q$ p) @; m: f% V) d5 C3。接下来需要下载自定义生成的模板(自己理解的)/ q. g6 D7 L2 }2 y* @6 C- t

( W* c4 I5 B% p: e  ?/ l8 T! @( {VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules( v7 _( x- J* x5 F1 }
7 D" p( T- J) w! x0 U8 E
VS2010可直接使用除了EXE外三个文件/ V) E$ o$ G6 k

4 I' D; z7 v. z4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win320 u  |9 d8 t# K  H

7 d& ?5 y/ m4 \' S! NVS2010有个一劳永逸的办法,将那三个文件放到: `+ {5 m0 }! @5 H& N4 S

" c' l, E3 t" ?' d: PC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下- @+ w- h9 {$ m
5 T7 S  M6 P2 e1 g7 o/ b9 d8 V
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe/ ?6 \( f) F, Y  p* ?+ Z

' @1 I* J, n) E* y% F; c       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
" B7 E) a1 P* p- T2 |0 F+ }" G1 D3 S
       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。! o9 [: ?4 n1 c* V

6 a( g8 g. _0 e! O/ J. e     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
1 M; _0 U0 t$ Q- R
) a& N9 D, A5 X" ?
" n  e' O) |7 p! j1 {' t3 E
% X  V& D0 o( t3 K2 d3 A, Q

将命令行里的yasm改成你放在bin目录下的exe的名字。

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。; c. C/ P( N. C; C  S" X

接下来对所有的asm文件进行属性修改,完了后编译就没有什么问题了。

6。编译完了libx264后,会在工程\bin目录下生成个libx264d.lib(因人而异),可以将它提取出来放到VC的lib库里,具体路径:D:\Program Files\Microsoft Visual Studio 9.0\VC\lib中

打开x264的工程。右击解决方案,选择属性,选择C++-->链接器

9 M. Q4 u) G8 s# X& p! U" |4 o
5 x, G8 K8 p" d8 H$ _3 v5 v

将刚才添加的lib名添加到附加依赖选项。

接下来解决方案,生成,是不是没有问题了。嘿嘿!

VS2010也同样可以解决。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2026-6-18 06:47 , Processed in 0.032975 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表