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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:
4 F2 P- e  ?6 ?7 E3 P! b
8 Z) k$ c3 [5 Z" ~) V$ S+ q
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar4 W5 N' l9 L9 {
8 D( o# C# u- m5 c$ v3 g3 z; ]/ p
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
* H( K; u) p) M  _$ \) {! z, C) I; t/ ]+ b5 [- l  X8 j/ T5 Q
2。下载yasm2 n4 a9 V9 e3 ~4 a" ?0 l4 l2 V

2 {8 Z, C: k- p
http://www.tortall.net/projects/yasm/wiki/Download3 O+ D# n# `: g: }
% _9 H' h% i* ^' r  X/ b( L' e* E
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip$ Q9 i7 @3 u/ b( k8 s" |
7 E1 S7 U$ U9 r7 ~  u% _: B! y
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置/ i# l( H4 V' a4 t2 Q
2 E* s& g  Q0 k" B8 e& Q
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录0 l2 O$ E5 M. |! ~# h" Z6 y
& T# W0 \/ [- V2 U" S9 C# c
3。接下来需要下载自定义生成的模板(自己理解的)
9 q8 t) Z: ?/ W9 ?' q% G- Y# P/ P1 v& I# \# x/ ^5 C+ s8 z
VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
) t- q: w4 t: W, F' ?
% W* t4 ^" z+ v9 M) M$ _3 N$ YVS2010可直接使用除了EXE外三个文件
' _& S3 k$ _- b2 H2 Y1 _; G1 e% i) H1 j  x; y! D& d
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win324 D2 z" H/ C2 S" q
1 I. k( S  T7 V6 s
VS2010有个一劳永逸的办法,将那三个文件放到$ p' K; g5 l9 p# |
! N0 J) e7 P) U; ~/ {
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下3 }( x) x3 l; X2 [7 Z3 K
, B; q& C# M7 s8 B1 Z3 w* l
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
) G# k# r2 k" Q4 r) Z; M' F5 V* r' X8 L! ?" _
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
* P3 `4 [) k0 N+ o; V
5 p/ T4 u- K+ U' U8 g( @- J       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。
; K% s1 l0 j8 E5 D! U0 q" \+ [4 g
6 i' _# K# Q/ c4 A     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:

: d4 @  T) F+ o/ r0 B3 P/ d  ~4 G) |& }2 e! n6 J: R
1 `* {3 i3 f" m

) x# d: y! V- x1 }  K4 F1 l1 X

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
8 ^- \) b3 k( n* H  P! m& \% i

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

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

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

6 u# f1 m3 ?) m4 u) A

8 c8 S3 r4 k0 J  H. g. U0 E

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-6-19 03:35 , Processed in 0.016259 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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