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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:; i; ^& d, k; @+ Q9 z. H6 A" q

/ n  Y! O- ^1 f1 K
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
9 s8 s& X( K! N
! u* K$ V& l; ~. {. f作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008; H7 z  M3 `! y4 R' X
- T, Z; p/ c' b0 ?
2。下载yasm
% |/ R- M. D* e. _0 l. z; ~1 u* @: V) Z  k+ T% x
http://www.tortall.net/projects/yasm/wiki/Download
  s* {' G9 |2 a1 b7 k5 q" F/ @# {& F
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip
, R2 ?1 g* A# W9 m1 @
% x# K$ V1 F7 I. t; B* n0 n解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
# M' p+ G$ P5 s2 n2 x9 i( I5 \5 S9 k# r, m# L" U
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录
4 S# ~0 ]1 H4 D: T$ w
. \9 b) z! l  K- U9 f3。接下来需要下载自定义生成的模板(自己理解的)
9 e1 ]3 G* S7 E8 P7 ]/ N
3 y* N- w7 c8 q8 V0 J0 D  _VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules8 t1 y2 k( C0 A
8 o6 T; p" c( s, I1 H6 f8 ~' O
VS2010可直接使用除了EXE外三个文件
( f% p2 }' C5 I$ f
+ t' K1 [/ b3 ^7 F4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
0 l# J1 I$ n# T% E' J# C4 w
1 P# N2 p5 w. PVS2010有个一劳永逸的办法,将那三个文件放到
2 q$ H8 ?( N% w7 s8 V" v0 b# }) x: x5 B) w9 X) O/ s$ ^' U2 z- f
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下8 f; J2 V7 j+ E  M1 X8 i. e! A
$ ]4 k' S) r' o1 @( c: B$ \
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
/ p$ l2 W2 {8 G* h
" @1 w/ W/ w( o+ L' Q( k       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。1 w' k( D" I7 G5 b( n
% Y. j% f, c" O. K5 k) R
       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。4 o7 y. \2 Z  K9 g( H! e. P& ~

$ o! A2 H% b- J8 X% i+ [     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:

1 ^! ]- G4 G, E: W9 K& X- z
, D7 C( X6 g+ {! e' {3 h& L2 B
# B5 w8 u  z9 X6 }5 N8 r
# K' q/ J  s% f% e. X

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。3 s$ ], P8 C- o4 {# @9 v

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

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

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


6 d1 t7 A) n& S9 o7 _1 {) A! @
" a, }- h, ?  m3 g

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-8-9 01:01 , Processed in 0.035995 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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