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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:
5 x$ V" `9 p. A2 H3 g: g4 ~1 _* A: B3 a
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar% h6 ]# Z7 ?( Q% K% }; w. F8 P

) x6 n6 Y; C9 s4 d& b4 l作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008; C& {# m( @; W7 b( z, u% T
% m7 q# L0 }' d! _2 c
2。下载yasm/ S% j8 O/ d7 I/ ~! Q9 |9 C3 ^
4 O2 q0 J# B1 r4 a1 T( s
http://www.tortall.net/projects/yasm/wiki/Download6 L+ c: B. O8 s2 D

1 t# p2 B$ S6 Y* u* c选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip% b8 d) O; b2 C
5 p2 Q. K5 x* m% v6 _5 u5 i
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
* B1 p; G, o5 G) Y) D% s4 u) D! U# ~' [) [* }
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录
% x* A: {7 G3 v* I; r
1 {: I' B. T2 p9 _3。接下来需要下载自定义生成的模板(自己理解的)
* l! n8 ~' u4 f* z  n1 U
" l+ J# c6 ?* V0 E" vVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
1 L2 _) M; I! b( {5 f# d1 a8 {; b9 E) ?1 N# z$ }% ]
VS2010可直接使用除了EXE外三个文件
8 s( q0 I% o1 p7 X. _( i, U* D& `' N* h' r% W! K: R  _
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32* J" j3 |* I- j9 l$ g( l6 m
  a% N: ], y& i7 L( q) X' m! K& b
VS2010有个一劳永逸的办法,将那三个文件放到
, x' e1 e8 I# y7 Z( o1 n/ v
$ Q3 \4 e7 e0 x- JC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下' U7 x/ j; M; @& O6 G! a
. l% ^7 v( q- M: b
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
4 M8 v* w+ {( m0 ~: `# \9 u* b3 @4 H4 _( Y1 Y
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
/ o; [/ V( W, g  A0 n9 @7 C
7 u3 I( z: K. ?) ?0 U0 i" T- \3 Z       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。$ }% {: O' M& c) u+ X# ]

) X3 D9 a5 j3 S; {* Q% ~4 r7 J     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
5 ?. S( h! Q1 y' p- W4 A

8 U# ]- z# x! \$ C
4 q! r$ b+ c) k' t  `
7 e4 B+ K  `, ~  B& z, C; Y

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
$ k3 I: r% [3 R8 S  A

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

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

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

, n6 t1 Z' v! b4 X/ P: W1 C% w; t* ~

; A4 [5 r8 M; i5 y8 \- M

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2026-8-13 21:35 , Processed in 0.017372 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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