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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:
1 g# r9 Y$ z% d; J- H8 p2 b! s' B/ \. `" n& z, d2 |7 X
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
' W6 j" @/ M6 ^* C
( g$ F. ~. p# K' z  q# g作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS20087 i2 ?9 @+ r8 {

6 s& }/ ^- v( P; n- N0 b2。下载yasm
- }% i0 J6 C/ t5 t( o7 W% D1 Y
+ ^( p) l% X' h3 A5 a- B" [6 F7 q
http://www.tortall.net/projects/yasm/wiki/Download
% ?5 R; b- G* L( G/ e5 H
4 o- t/ o: E0 H$ |1 n1 b) v8 F3 y选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip* Z! _( `5 p& J. _9 h4 X" J

6 y" {" m/ ^. m  R解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置& m; B/ S" F- x+ T3 h* V
7 x1 \; ^) i+ i8 `$ @+ G
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录8 s  y- X' B  O2 d$ W0 s2 H
& K, t9 `, q8 J, ^- i0 ?3 v9 v& S
3。接下来需要下载自定义生成的模板(自己理解的)
' M3 A; f# R- E5 F7 E. A0 E+ w4 W! U* G7 t# x' t- w0 z  _
VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
% \6 I5 g5 [' S8 x" i, z- {" E( f# j: g
VS2010可直接使用除了EXE外三个文件; \  W9 f5 I1 @6 f4 K$ @& |

3 g+ V/ r( D/ x9 l+ L9 P* r4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win325 O% K: {( I* G9 o  w. k& y. [6 ?

( ?& {6 w2 x2 E7 c  r, t& ]9 D$ ?VS2010有个一劳永逸的办法,将那三个文件放到
1 x  d0 f% v6 U. \; M+ O1 U6 F. I' i& ^4 F4 `
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下
& b  s: |* J0 c9 m4 T4 A
7 Y9 f; X' i# G& O+ G5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
0 s/ E9 G1 @0 I+ t7 n" s! B* \: ]: }4 }) N
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
7 Y1 h  }: K; x3 I1 c0 F
$ D0 k8 q7 U7 G+ @. e       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。
9 m4 V' ^3 O6 @& s  U7 P# r' W2 J3 w4 f2 H  \1 s* p
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:

+ g, B! P* l) Y" j* m7 p
  z9 Y, D' O; Q/ d: N1 k; A/ c
! l! v4 \7 m; m% h0 q0 X# B* N8 l, A: u* p+ ?& `) S

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。: z* q) f& B+ W# b

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

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

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


4 r- [1 ^' D! [  \! G. E0 g( M$ X+ e  K8 G$ {( B

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-5-5 00:12 , Processed in 0.015555 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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