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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:4 B& d1 U& _- h' o* ?
$ D: p' \% O& Q. @) M/ u
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar! a5 o6 e7 i) J  O8 H

* B( i6 g2 f$ l* G作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
+ W' v  t) ^- z1 p' r+ L% O
' o1 Y+ {5 J1 y5 q0 a2。下载yasm: Z6 r$ a0 Q# X" r! i! Y
8 n) y# v0 [$ Z0 \7 \, k
http://www.tortall.net/projects/yasm/wiki/Download
% g4 B! b! ?3 a0 G  S2 F
2 d8 S" Z, i, G9 Q. K9 }+ T% U6 A, r选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip
4 m' X, E, @1 e1 d# Q; d$ s" m
5 b5 [' A4 y) ~" z; b5 C0 I$ S解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置% D3 ]& E; ^4 q+ D

# _! @2 T6 \- S# W3 T( c' W( h% o将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录0 n0 K% |* h. W

) Z5 h. h* c3 F3。接下来需要下载自定义生成的模板(自己理解的)
4 S( k7 }# ~0 X/ S/ p% C1 H
: g, n' s3 ?/ W% w; w/ n8 GVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
& s3 Z) r' d3 N1 m
# L9 M  p- J) t7 T! [VS2010可直接使用除了EXE外三个文件
: y, }  I) v8 H% \9 j
8 `% i& v. f0 {4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32; \- C% m) A# Y) A
6 z6 c' N3 h5 X4 q3 u
VS2010有个一劳永逸的办法,将那三个文件放到
/ |: ^. z# M# {, }3 N. J
7 T" U( b* Y  V: T& TC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下* P! i% W( y# [2 j* o% ]: ?9 c' U
, j5 D6 ~4 a* E8 K7 V
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe" H% k# q* P1 D1 t; H- C
' m3 ^6 ?; c/ E7 b9 }& }9 f
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。! O7 L0 v- M7 l) |

* I6 Z7 i) v8 H9 c3 i1 W$ L       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。* N6 H! \+ L* C" }1 F5 f
3 j% f$ s. m1 W6 s0 _# ?/ d
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
9 H  S5 V+ G& y, Y% o
9 U) i; s' J2 |' }) N" n. \

8 i% B, X, u; L7 [) w) a# `
# |5 |2 r9 }8 i, x& B* N, @

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。- \$ s& p* ]& g9 ]

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

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

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


9 A) v" y, C# z9 q5 E7 m( L4 a( b+ h9 K: x' y. B

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-9-30 06:32 , Processed in 0.038434 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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