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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:; N/ @% f( j+ n: w7 w8 ~

8 M0 D% `; u6 U7 K
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
- \5 `  G$ b6 g; M  `/ w
, i- k* @& ~, j1 O$ ^; W& c作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008. @# b  }  e. D) W) E! @) R
  v' b9 |4 i: S: X& J3 M+ {
2。下载yasm
4 [/ _. ]9 u+ v8 C5 z' b2 J! @7 I' n7 o  H3 d7 m
http://www.tortall.net/projects/yasm/wiki/Download
! G3 x! M6 P, U( L8 m; c, Y# k. C* j+ a2 R
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip
$ q1 I! K) o- N- ^. X8 [4 g( R
4 U0 V, V  D7 E# t% _: m解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
5 a% n* S: ^# v# D: t) x5 M8 d' y9 G0 J9 J
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录
) I3 x% z2 w' a
2 g. a- T0 `# z' q6 C- w/ v' N3。接下来需要下载自定义生成的模板(自己理解的)
; _3 z% D6 U( z4 n
! ~  @8 B1 n: g, Y8 eVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
# Q/ e- g, ?6 S& {6 V
# r: S5 i% p0 [7 u# yVS2010可直接使用除了EXE外三个文件
+ o+ z! L) k! D" {. {  C7 x4 t6 z3 {( {5 t$ H/ r7 d5 V
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win322 q! d2 N/ h9 d1 f; p

2 }5 C% p2 q1 FVS2010有个一劳永逸的办法,将那三个文件放到" v! R5 K  z/ u+ Q

' t; \% Z. @$ w2 Z9 nC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下2 P5 Z) f3 D9 w- g

% t. ^3 z" ^0 D/ f; H5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
; Z5 ?  M3 j) P7 c& X( l
8 U7 ^- n7 R) x4 ~8 }3 y' C# ?       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。( E, _' d. r( f5 u, ^* Y
* y* i8 f- u1 P
       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。4 b$ c. V% r( j' \
: j5 b' t$ v; V4 [4 P
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
: G. T5 S. I$ S5 W7 d  H

9 b8 v2 \; b" B( |. J% j% `
3 d& T2 k8 O$ D' A1 H- s3 a: @) b% K/ G& ^( A6 R1 u8 F

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
/ r0 Q, x) c( ^0 O( C" m$ m

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

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

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

0 v5 Q# D3 M  a2 s

2 o- [. O$ U4 F2 `5 [% F( ?0 d. v

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2026-6-18 07:58 , Processed in 0.018034 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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