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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:
# p9 g" o+ ^* o- E" {+ |1 M9 k' }
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar) E3 l) i5 N9 G% J! v, e: Q3 H

2 |" A' L4 c+ D. e- J9 ]作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS20089 ?) j  t, B. ]+ T2 F1 [- G/ {  q+ y" B
( ?  _- a( G  t" c6 v
2。下载yasm' A1 b$ d' C) H

- _. ^% Y0 L: f" ~
http://www.tortall.net/projects/yasm/wiki/Download
8 r' o9 s3 m& T* B5 v1 U/ U2 o" i, \* w, i3 x4 U
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip+ D9 {! G, U: _; i# L; M- D5 F, E0 i
# @8 L& ]# E' `5 F& n% V7 V  _1 R
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
4 g  l3 K* S$ H/ E2 N4 O* d! x. O3 L! Q7 {$ K" z
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录( h# j9 k8 M6 i1 W" A6 n& q# O
' [* [: f# P1 y7 L
3。接下来需要下载自定义生成的模板(自己理解的)
; V) B- n+ \2 x+ N9 q. K
; B  M! H& e1 _% Y9 p( @6 CVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
6 F& V: ^) @2 B  ~& V* z+ h, g6 @1 C3 ]. }) x6 L
VS2010可直接使用除了EXE外三个文件
* C& f) h' m, p. b# P; ^; B
* D* H7 F8 M5 o0 E7 u: R( P, s4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
$ T$ |2 p# T) Y: {3 X. r8 H5 P  T1 u8 K1 S) N! @; ]! E
VS2010有个一劳永逸的办法,将那三个文件放到* \& t6 h) ]% u3 h4 k

8 q  E) c8 ~9 O9 c3 h) yC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下* ~* }2 j2 Y  _( ~& x9 `2 ?  w

$ t# X6 _2 J9 ~2 h; W5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe4 @6 _: g& u. Y* {1 Z% ]
6 z9 [$ o: l1 h2 d! Y
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。- v: ~9 ~# A5 l# m( ]% y3 ~

) h( k4 t0 N: t9 X       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。! v1 J; e5 @$ }1 r' b+ ?8 s1 d  I
5 ?1 E( }* ~1 U6 p0 O; Z
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
2 a2 \# ?* ~/ _# k7 ]
7 t5 S' h# Y' R& s3 O6 }: ~9 z
5 ^0 B& X7 |1 d- ]. r
: B. k8 _# t* s% s' v

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。8 u1 b3 x" }5 M. S7 G  t

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

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

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

  d! u8 ], u+ }* h( `) b
  ]3 Q- l. q) J& t( E

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-8-8 23:21 , Processed in 0.034802 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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