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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:# k9 l" l/ O3 s8 a. F

; i5 W$ S  m9 I7 Q
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
/ B; O% w6 j0 ?' P
* \6 J. w* i/ w作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS20089 R; K6 i$ Y9 `! W% E% W% M; I. A

. v0 Y% Z' z' ]2。下载yasm
. t* _- N+ X3 K. D5 Y$ c4 a
1 X* X+ T+ a9 _( i9 e. t
http://www.tortall.net/projects/yasm/wiki/Download
( L; q  f+ T0 G: z/ F3 ]
1 Y4 D5 c8 @( {. F( O选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip( _  j8 \3 C/ \8 m, ^5 T2 b
. D% P$ u7 H5 [4 o& U
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置6 t0 t% ~0 v3 r3 A

9 K5 ~& p* e8 A: O将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录, k; i" i1 g: }% l/ g( |  N/ s4 x
. A; Z; R: [/ v. w4 N4 r
3。接下来需要下载自定义生成的模板(自己理解的)6 g3 |: d2 v/ w/ m( |, g* R
1 u  v; l7 B' Q  b2 V+ r
VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
  ~5 Z$ |1 K- C: P
/ ^3 v" s5 T8 d  `1 ~) d! zVS2010可直接使用除了EXE外三个文件% @. u# X4 @- H1 _& \( H

6 x9 {% |7 `# n* f1 {$ q4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32& t& A3 ]1 X3 P- o8 H/ H

( D1 Y$ J2 W' K4 E9 y; ^+ x! LVS2010有个一劳永逸的办法,将那三个文件放到
8 T8 T1 N6 S' z3 y
6 V: u; V3 u2 M( Q9 ?1 xC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下: a1 U' q+ E/ n& `) I
) Y, e% a( _- f& N  F
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
& i2 l+ o6 H! D0 o% L: n6 @' N9 [# k3 v/ \
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。6 w; x& V/ g; c$ w

/ I1 e* O2 i" P1 N8 r: z       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。# ^6 N; n9 s3 W3 G

# L7 x# n. U* C8 f$ j2 O5 k) B' L     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:

# D% M' W" M# E3 W0 y. b8 |5 b6 a1 E/ x; l0 l% i
: G5 B- S& N1 A( ?

! d# W& h2 i3 {3 z3 l) I2 K

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
# a4 v: O6 e) F8 G2 t( e8 k6 j

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

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

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

* {& D" f5 ~/ C. t3 G3 Y

3 Q/ E. M- o0 w, N! }8 ~1 Y2 w* n

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2026-10-1 19:27 , Processed in 0.018401 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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