找回密码
 注册
查看: 5275|回复: 0

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:9 G. u# K0 n9 W8 C

& T) C; f' n8 L: l. d+ ]" g
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar% E: y- C2 J/ q' u* w; u9 l
1 @/ D: |% X1 y1 H+ d! U# t
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
/ D4 E$ j: Y* z" _" z4 s) r1 H
; ~# |2 ?  X" W: m2。下载yasm) u: e( I( x- O4 }4 D1 K# I

. t) K) `; }0 R
http://www.tortall.net/projects/yasm/wiki/Download  @- G) }% V- I2 o# F

  V( k. _, |* Z+ w6 c; O/ u: A选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip" ?8 T% Q7 j% \0 I
2 U2 j+ M; e# V+ K3 r9 f8 C
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置4 H4 C! p  \# o2 k$ R4 b
! }6 `& C0 i% Y8 n* n
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录
- A/ ~) d- i3 G/ ?0 ]0 d# ?& s4 h; K$ W
3。接下来需要下载自定义生成的模板(自己理解的)* x! l! t% w6 E, p

0 W% R6 g* I* Z1 aVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
7 P7 x  Y; i) C) z, B
+ K+ Q5 o; }5 T) `* zVS2010可直接使用除了EXE外三个文件
+ @1 r, {; j+ n1 i5 ?! P
* e" J: q+ y+ \% m4 `7 [- t4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win321 `0 D- @2 Y. ?# Y
1 L% c5 \( w4 Y( |5 v1 Q
VS2010有个一劳永逸的办法,将那三个文件放到# S, B0 h* T) E2 M9 |

& K! g, D) s# T+ Q% o9 PC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下
( o" L+ O/ D1 _' L# j$ r* `. r; o- N& l8 l
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
0 z% q( D& w) X) z9 Z  g4 S5 b
4 C( H2 [  W5 ?       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
5 z- ~2 O. p: O
9 s( F* N0 ]& |& K) {8 h       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。" Q0 l5 G: D( K1 K" q

+ Z5 T: i5 y6 }+ q1 g* @" ]     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
3 w  y! u" t) V0 I3 I
0 K' I+ O# S! P* `' |! u
! n0 a1 K# S4 H0 f  Z& F5 u8 h) q8 ~

& r  @9 J7 p& E9 E7 J8 W& x$ a

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。  z. ?/ j2 o  C8 I# L: o/ s+ C' D8 q8 R

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

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

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

, u, g8 ~/ |9 \" n, ]" t. X% }7 d3 M) ~' |
! _4 E. j. Z6 ?( E6 Y

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2026-10-2 01:06 , Processed in 0.020439 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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