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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:
4 N( a* Z- R# X) j
9 j0 J- _1 M7 U
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
/ y0 l6 k' N# O/ {8 j, u, e2 p0 g3 _; G" f  b  v+ h
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
7 e, N% F1 q2 p5 z6 {3 J$ g- H$ ]
2。下载yasm9 c0 C% B. F  k5 d
& R# |3 k4 w. J. {7 R2 H
http://www.tortall.net/projects/yasm/wiki/Download
  t) e: R9 h4 c4 \0 F: t! |' Z6 _2 m/ o
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip# t# d3 Q% L  m# k5 @

( Y) f& Y& s3 D8 T% N解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
" j' W5 J1 @& K5 H4 M' K2 q( a& r
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录8 f2 E0 C2 n; z" K6 {

) G: r$ t1 l- s- m5 u3 g; Z! w3。接下来需要下载自定义生成的模板(自己理解的)8 K  T- o% H3 ?, ?
' j! T4 o& T0 U9 O
VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
0 ]3 o. {! D8 X) Z1 t6 I! _
6 ?( o0 ]9 v. ~VS2010可直接使用除了EXE外三个文件: V' M  n- {, n0 B0 Q8 K: H
2 B1 ]3 q0 O9 K( G
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32) V3 H/ Y9 U$ ^7 p' g

. J. W' Y" e" l- TVS2010有个一劳永逸的办法,将那三个文件放到8 _" S; ^$ _3 b6 y# V! \

" P  L7 P' p6 J  r8 H- B+ bC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下& h% i1 w5 D  m% b, q! C$ m
. u1 r7 c- N7 ]6 p
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
' h* R4 [* b+ r. d! g8 d6 p: v2 L6 ]# E4 Y9 Q. e+ G
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。" H5 N  a/ K; w
6 J/ s- M: m6 s3 f
       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。
. o! D, _' [6 \  t5 w: d/ K& ^) e8 d% n  `' R
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:

6 a! l" y' x" R* E$ v* }( j, c- J$ o3 i
6 M4 k# {$ _' y  ?5 m. I
& K' e0 D1 K1 L$ `1 b* @

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
2 |2 S! K) b0 o

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

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

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

, k9 D3 M' P. p) C* Z5 K" B  A+ H. S

; M9 D1 ~% _9 F; u5 e$ ^

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2026-10-1 20:43 , Processed in 0.017876 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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