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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:
! z2 H$ w8 u+ R1 O- h$ N- c
  w5 V2 c' F2 B
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
$ S& B; F3 g- @9 k) ^/ x% c& Q) }
; R* c( C' o8 D' c3 R. c) Q: [作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
: S: M0 I) U: U  t* E) g4 k. }2 a8 J  Y# v
2。下载yasm; M# B6 S9 w! P. |. ~6 e; w

- h; \" ^$ j- ?3 U
http://www.tortall.net/projects/yasm/wiki/Download7 t1 I0 h% X9 F# \! H9 y. T! `' F

, G5 [+ ]6 a3 v0 r' p0 E# Z选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip
  q) x& x! O( u. k( `# R( n/ x# u5 V6 g( c; A3 m  b- s  @4 t
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
& e$ k. s: s2 ^, o+ x0 @" l& c2 g2 I
- L. p$ |! B% W. r2 p将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录: M2 m; c+ }* g. J9 }. A# O0 d
+ A6 L2 H: o% I2 ]4 J) j7 S
3。接下来需要下载自定义生成的模板(自己理解的)# N6 W! O4 D7 ~3 s3 u4 O- x; m6 {3 z
1 o4 Z0 i3 \- ^- f0 \! n4 a; |
VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules7 g4 u+ m3 i) U5 @
. l# X- m$ E7 {* d$ q
VS2010可直接使用除了EXE外三个文件8 V5 m# ]6 t! u
; ]3 l' Y% a% ~) E  |" J
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
/ e* O4 x1 }( q2 M, ~8 \& q( K6 U; t( f$ y/ Q  ~* A" q
VS2010有个一劳永逸的办法,将那三个文件放到
# j. R! ^$ n5 a( I5 [% h- o! Q' K' N* J8 H. }7 X
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下
9 j1 o% W7 T' o  V
. _, ^0 x( T$ w4 X, y5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
5 z1 ]/ l( M" O; V) y5 E
* k$ |; g3 h) b       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。9 A. O4 x- y9 n+ D0 s

7 w( W- M9 \7 s+ `' f; c, h       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。1 c6 n: m+ ]6 Z$ w8 b4 S

- k6 S9 I: Z2 n" ^/ n6 d     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:

& C* O" n) m: h  ?
) U: J- C5 F4 I* l  c3 f
  g/ j  H# S; j  \: E& ]; H  `8 @* e8 r2 q1 g% T3 Z( q

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
* X# o9 s8 A  M$ U0 B$ a

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

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

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

2 h$ Y1 Q% @9 ?( o" Q2 ?

! R* B7 j, f/ U+ W: |

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-6-19 04:19 , Processed in 0.018159 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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