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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:% c3 C/ m# B7 A* v
6 `7 K' s7 x9 }  ?" F
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
7 e- l# Q, y" F2 y2 ^/ f9 F) @0 O' m( ?# E' t8 \" u2 i* o
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS20080 s2 v- h2 ]7 s/ e3 _/ T8 K

- @- c1 [, ^! s( [/ ~3 M4 I- m4 a2。下载yasm
# ?" R# x5 P' o/ D7 |; ~" y% T, j5 f! U$ G0 w# O
http://www.tortall.net/projects/yasm/wiki/Download/ d* E2 ?# s- }  ^2 i' I

8 X, y. D: M- m: _; v' O选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip
! {+ Y+ j$ _# U4 S& w) H( L9 V+ r% R
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
+ r( y6 B- `- I# P% X+ t, Z" V& i  _" O6 l% }5 i+ h
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录
' {9 T6 R& @, A, z. V
8 ]2 R2 f3 h& @3 |) E$ {! t2 B3。接下来需要下载自定义生成的模板(自己理解的)
/ @. E$ _( ]6 o. V& S8 y
6 P4 e. t, L& Z$ d3 V( zVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules  h; g3 F, R: z/ F! u6 @
- a% T0 v  ~( p8 N* x
VS2010可直接使用除了EXE外三个文件
3 s) `; L  z# \# b$ v: L
" w$ i. J0 f4 C+ Z7 B4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32, n  a3 }+ c% u* f0 _4 D: V
: ^. H: Q1 f& K9 Z. i% Z
VS2010有个一劳永逸的办法,将那三个文件放到
7 f/ t/ S& m/ r* o9 c. J' W- r/ o. R
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下/ c9 C6 C3 b$ ~$ N+ J  M9 t
5 z/ P* e$ `) p: S7 S6 c0 l
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe) l% i1 e2 C4 g- M- O; j% [
) r' M% z* ^! ?& O0 d2 N
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
; V+ z+ F, K. {3 {) ^' d$ G3 ?( I/ p# ], w
       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。
2 N7 v( W: X4 R' n/ |
1 y( D) g) v& b5 P2 g: L     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:

) S. p5 _/ ]' D  A# z  h" a! [, Z3 W( J) ^- u5 H9 A

- \! C; K4 W' d8 X$ r0 ]
# `" K4 V5 c+ q  M; m

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。2 [. _8 [; U! ?0 ^- Y! I8 Q" @

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

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

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


4 h; i' O: A4 b  E& t/ ?8 |) E, C; R% N! t  o

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2026-8-13 21:28 , Processed in 0.017417 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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