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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:1 F* @6 s% B3 }; m6 M. _
( O' t1 b" {1 a$ T& J
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar  {, q" A& j2 \7 C
: R$ A2 R8 B( `1 `# M
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008; F/ [) c+ L( F0 R1 Q
4 Y8 w3 G4 B  I/ M
2。下载yasm! z5 R; R# }2 ]5 D9 e) [

: H" o! S: Z- \- T
http://www.tortall.net/projects/yasm/wiki/Download% D7 v  Y' ^3 |0 O& c. d1 H, [

3 q8 x' p! D2 _. @: F选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip
$ _7 @3 U0 B* Y: e
4 l# C. U3 c' V5 _5 g9 E1 r6 {解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置* T8 g: T$ k, @( H1 V

# a9 }4 `4 W$ _% c1 W5 g  Q/ n0 U将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录- v9 k+ S/ Z+ w
: M7 u# a, E& c& Y
3。接下来需要下载自定义生成的模板(自己理解的)5 n0 W* X$ C2 N6 M; p& j! Y

! I4 u7 I8 M' c0 E, |" pVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules# i* Z7 q+ U8 j  Q3 X
: [1 _  e- l: [3 A- R; r$ ?% H
VS2010可直接使用除了EXE外三个文件4 F* u- D7 \3 e0 z

2 w) C4 y) Q! c( \, _4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win327 Y7 G$ E- b  p* K3 w7 o
+ A4 F  a1 o6 X# C. `( V
VS2010有个一劳永逸的办法,将那三个文件放到
5 T5 B" L4 y) Y9 c& z7 G
, q9 J" z; o# ?" J* O3 E1 m) |C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下
: e4 M! m6 F( O) K- R
- L6 [# D+ }- _+ b$ W9 W# q( n; T$ P& k. ]5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
; G: z% K  m" R! c$ L/ n. ]* L
- J3 }" q: r$ O' M4 X       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
. O' s% A: E' y4 `+ p( L+ N: v: R6 m9 }# Z
       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。
. ^: o% q. e2 n, a0 w1 Y% K/ r4 J" _+ z0 I9 J5 L
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
$ I( h) t# m- G8 v4 [# f
- `  _# n2 q7 c
4 B/ `5 T, w6 v  |4 d
# \2 J; }: E/ a6 F4 J( p

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
1 P6 d/ t# c/ }( h7 X* Q& f

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

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

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

+ i. c* M- W1 Z5 C
* R) f4 q- @0 o  |/ T2 ^

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-5-4 23:26 , Processed in 0.014679 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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