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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:$ L# Q" a) b+ ?3 E: b- N2 x% r

  ~8 |3 n- N$ n
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
+ Z4 O7 q. s, W$ T& g& {# x
+ ^7 O' t+ z5 i& r1 X9 d" i8 k作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008) T3 ~* k( P5 t  d2 a
) ?# O$ i. U7 U5 k
2。下载yasm, L4 Y# {# }& Y6 W4 v; O

  i/ i' z0 r2 l. K/ P( D
http://www.tortall.net/projects/yasm/wiki/Download
1 `3 Y: P* Y: r7 M4 n8 S0 g/ F8 A$ P! R( Q, p6 Z5 U4 E0 P% g
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip( V6 a$ k" e3 q4 q
' r2 }: l( S; n+ w( P! E3 Q
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置9 g' O! N' n* U: O$ U

6 L7 ~) H% y% e9 i/ j. {将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录& {$ |8 A! A, S3 c: a& c$ e
9 J) i* l1 T8 h4 Z! b+ ]6 y
3。接下来需要下载自定义生成的模板(自己理解的)( w% o8 ~7 _# A6 T" H

! n0 Z, P- B+ F  m& [! I  XVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules3 [2 z8 y" e% X: F. N1 `1 E, k) q

* X. i% o2 b) _4 xVS2010可直接使用除了EXE外三个文件
+ u+ A, F- `& e2 ]! J' K
; a7 ?7 ?1 J+ }( N7 ~: r4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
+ a4 I/ B  [) F4 U8 m+ ]) y/ n' f6 o! N' W6 i
VS2010有个一劳永逸的办法,将那三个文件放到% X3 p& m8 s! _- R

, p  V+ U& ?6 R$ G7 MC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下9 H' D: x2 \" @7 W' C3 x" e$ ?! K$ x* W

( D3 ?0 y0 ~: Y2 ^0 y5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe" h" a* N0 [  r; K2 @
! u, u; f  j. G  V/ c6 b* o  Z9 u
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
2 }6 y# j9 f$ e: |- `
" W+ ^- V6 a0 ~6 q       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。% Y0 `% v8 z/ I% X
# s9 `+ S: t( A: `
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
- h# m+ J: M! k% w

, k9 G! v) [& G
& T: g! b' B. ^, o) U" M
! T6 A- |4 K6 q+ z: i! V

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
) H3 z0 [: E- N; R( N

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

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

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

/ Y5 M, R2 ^; }5 u6 ~/ w

' C, Q( p, D/ m8 h& D

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2026-6-18 06:08 , Processed in 0.018034 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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