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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:+ P( Y' [- [" S: l* @) c

/ |, K$ @% R. C+ i9 E: n
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
9 D" P9 D' M1 N" m: ~
9 z. o" G7 I. T* \+ f5 u作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008, Q0 T7 _5 E0 m1 I
# ?/ \+ \& E1 y) x7 h! U( {
2。下载yasm
/ g* b' H: m9 x( n
  k4 |4 h& N, p5 S# ^0 _( R  D" e" w
http://www.tortall.net/projects/yasm/wiki/Download
/ Q4 h5 L% I! J7 B; q0 B
7 B) f% _5 p$ U1 k7 Y选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip% z) }5 g3 e- P) F: [

5 S7 V. p+ E5 Y0 L' C6 i# H6 z$ `% e解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置2 r- B; o% m( y4 j4 _8 _9 |
4 Q: s8 v* x% Y6 T: @4 F' Z: O
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录" H9 i% m* b. [. X+ d

7 h2 Z: i0 D9 {/ X/ G4 [3。接下来需要下载自定义生成的模板(自己理解的)
( [: R' E7 O. j1 ~+ K8 P! N$ y1 Z' p1 r4 Q5 @% C! _7 L. Q
VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules% r$ c3 g0 }. \

' E* O3 v. {1 sVS2010可直接使用除了EXE外三个文件
3 k% B; p- D; _2 x  S
, u/ c& `) S! Z' n4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
7 e' f7 U: Q. ?; m/ c: v: q5 }
  G$ M- R# H- t+ M, R9 v8 rVS2010有个一劳永逸的办法,将那三个文件放到
3 J) X! ~+ n! \/ F" ?3 X* `+ N4 V: e) S# A# i; ^6 e  C
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下
* F& Z* g- n0 U% l$ o  ]& \8 d* U# H; Z4 g/ V
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe# I% J8 w( C" g# W% W
1 _( [3 D: @# ^& L1 X
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
' f5 ?# m! P/ D
% c& J; k) m2 R$ s* V- j' [6 h" d       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。- M3 s. g4 y6 e2 o9 J

: M$ l8 v. l" l/ `) B( Z$ x; T+ j     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
  Q; L% f) q! s; K2 B

6 `4 N6 T+ c5 [6 z8 j
3 n8 m( y$ g! e8 P, a) y
7 l+ ^% D4 I5 @  P0 i. w7 e

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。) {% U$ ]4 f  j* o

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

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

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


( X/ K) R+ q" y( c% q+ v6 @0 A% {1 C: _0 ?

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-11-14 14:44 , Processed in 0.019013 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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