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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:
* w8 M5 F8 @; P+ ^  w( K2 s& ~
- Z) `6 `3 z$ L' u  X
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar% @7 ]  `  v" q8 t' a$ S
. O% W( A* k1 G" n: _
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
9 x' l. F0 ?5 Q7 z% \
6 V. O5 A2 n/ n. I8 ]; J0 Q3 t8 R2。下载yasm6 L' \( S' i0 |* m0 h: ^

! x8 L8 s, C; S& ^% y, L0 i4 t
http://www.tortall.net/projects/yasm/wiki/Download: R+ _9 ]) R1 Y/ a: A, Y- I1 o
' P/ ~+ ~, K2 w7 B) f+ M
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip; ?/ @9 S# `' h5 a! A5 t

" J- F6 m5 M5 P; f& Z解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
6 }+ O- y! X( ?* V5 H& o' ]( @- g( {2 F) A6 K
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录. ]3 d- c" N$ R+ w/ I/ o
6 c0 i- o  P% [1 i! \+ v9 k
3。接下来需要下载自定义生成的模板(自己理解的)
# @& o/ Q; s6 [+ ?: I" J5 V; q) H
* e6 Z/ d' ^# v0 ^- w5 s" y+ IVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
7 a# ?$ n, |) @" b( o/ V
6 h1 L% g- }0 j$ v2 RVS2010可直接使用除了EXE外三个文件2 E7 Z; y. Y0 g: J1 H
! V( z! H. }8 k$ i" e5 K2 p& X3 h
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
  {- Y1 _& V+ }8 P: {0 F6 o1 I( X
VS2010有个一劳永逸的办法,将那三个文件放到
4 J1 w. p3 d/ c# e7 I  ^9 F
* F4 f3 m& a$ C6 n% {, vC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下
. M5 N) v# m# @/ `5 D3 G
' d9 E, U' t0 J6 E6 o3 \5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe" x" l- s5 w2 C. Z: H
# N- P4 _3 Y9 ?8 N+ I
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。0 R/ {8 _, z+ B

# \9 u, O. ]9 ^" M0 e' B       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。4 |+ x6 e$ H9 s& C
- U# g; X" K3 l' g6 V2 `$ k
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:

/ d% I' g+ v* A# ^/ F2 D9 x6 s' b5 G/ |4 E! D3 \  c: F

1 Z4 t9 j8 N' ~2 g9 G& C, ^" b% E8 y  y

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。! h- }9 E3 o0 G7 b

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

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

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


/ e' U8 e! ?0 s" n- _
; E+ c% r( i* u

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2026-8-13 22:36 , Processed in 0.017158 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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