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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:
' v  l) W, e# ~- M) V- W2 I' s' f6 q7 l0 f- i  i
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar* _1 I* q# q0 e) ]

- @0 _+ v0 D# Z9 K) r3 i作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
# D- {5 m. {8 e* M( E
  f$ w& i4 v" v4 x4 }. x1 t2。下载yasm3 s0 @! |) _  v
. S6 n$ A! i+ f0 y5 G
http://www.tortall.net/projects/yasm/wiki/Download
4 E% E1 l; ?1 N2 }7 W2 h5 c
5 ]/ |9 d4 I3 h) m: o" v/ \选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip* k, T( }6 f) E; K* r
9 }7 l+ T% y# r7 c! ]% y9 t: V
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
, g, V" _: ]# i5 |- t' j; ?" x2 b: r* R- b3 S3 T
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录
: h$ C  _/ l+ {4 b2 P$ l; ~1 p, ~0 j
3。接下来需要下载自定义生成的模板(自己理解的), `! o1 j, o1 L8 q

, X0 v3 i  G4 }- y, P+ X9 fVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
0 @2 k8 F& k6 |# p. U/ K
" A+ Z) n5 U/ R  `: V8 xVS2010可直接使用除了EXE外三个文件) Q5 `) {' b) h% N
2 G# e9 R+ ]3 g4 d% u) u
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
/ \" i. z) {7 Z1 L: S& q+ G6 X4 y% y; S
VS2010有个一劳永逸的办法,将那三个文件放到% w9 s/ y* l$ S! _
! @* F) [; v/ k% Z# ?1 v  `7 |
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下
2 h( N: v, ]& H! Q/ c) ]: l  O) D! e
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe8 K1 V; ?$ V& ]& ]2 L

2 p$ r; ~: ~( f0 q: @. R. A       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。5 G7 r2 r+ k9 D' a3 C6 J, D' |

9 J  ]: o3 y  C* n' D! }5 e- k       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。! X) n# I. d6 T, }& E- j; r( C' Q
5 b, w! F8 t2 K& _: m. Y
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
  A+ k# f% Z& s* z# q# y! {5 q
+ z; Y. Z9 l7 |

7 }, _7 H- r9 v' i- j5 V8 t7 c: x3 [* l

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。9 t/ B8 l3 M0 ?: |* o

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

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

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

4 v9 `! e* w6 T" `

. K8 L" A" r: `  I' r

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-9-30 08:53 , Processed in 0.034894 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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