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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:2 j! f5 z" S1 {6 g* Q% a
- R) @: D7 K* m& @# q5 a6 W
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar7 f* q) A8 W9 d# E5 k6 h( c, O
6 R/ G( V2 G+ }+ p; O! t8 d2 ]
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
) |/ S" b7 G& O4 F" W: C* E& F/ e: I$ A0 @! b0 g( d
2。下载yasm
& h# [& u" [2 q: u! g% m" k8 l
2 @, {* `) @) v! Y; C
http://www.tortall.net/projects/yasm/wiki/Download
7 ]. |* ~8 d. p: T6 {* s, i( o0 m; f, J6 e% k" Q6 j8 \
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip) ]  G) a4 Y) G; ^0 o
9 x. j. B" V; Z) h. D- k6 L
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置- j9 j, Y! q  v! Y9 ]
; R0 B! p: g& ~/ a2 f) T
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录
5 j3 v+ a/ u- A$ p3 {
, x: F: V" ~4 `$ h+ r* L3。接下来需要下载自定义生成的模板(自己理解的)! U0 w0 i, ?3 @: r  }

8 T, J/ @# s5 X" F# Y, z7 IVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules' |( F0 z+ C, A

2 x9 R; m# k$ Q  n9 d2 N0 A6 _VS2010可直接使用除了EXE外三个文件
; h# t$ s/ W) c% t! }0 |& `: b. o0 G* l: A6 v" l/ x: ^2 X
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32, @5 }' O  A* \5 `! @2 W: E* i

- \* ~) [* x- [VS2010有个一劳永逸的办法,将那三个文件放到
: ]+ K5 M# n4 [6 q9 ^0 c- x+ z1 Z6 N- E: ?: D. h
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下
  q, V. l" l6 |. R. J: w) h
6 Q+ `& r$ W, [5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe2 r3 Y6 s' `; m, o) o( W) d5 h
( h/ \, q! F0 z: r/ G9 [7 u+ g* E
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。2 ?: t- ]0 ~# g

  A; E9 [' |" i: p6 R9 k' b       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。# m4 [1 Y+ ^! e$ S

* p6 A' T0 ~5 ~% h# \$ U- R: d     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
% ?- }$ M; P. c( j: k2 y

2 b% S5 s9 P, N8 y$ V+ n) @$ s6 l* u' R9 q' R
  n0 _! c' T& C8 U0 B' Z$ _; j% Z2 b

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
6 J# k2 `8 J6 r) F% q% D2 M6 R

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

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

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


( G" ^0 A2 f- w" j/ N8 {
& \  O& [" E( b1 A

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

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

VS2010也同样可以解决。

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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