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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:  a' A9 P# X  O
! L2 c! M. u9 T2 M. ?- _: Y: w
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
! r* b5 i1 f( q" ~3 L9 C. k. h, i
- ~% G; F; G9 g8 Q) c2 Q# ~) m作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
9 n$ `+ A) n9 l, I; H. l% d
2 L; U( O7 t7 O% P3 S, W- W2。下载yasm1 ^$ {2 z7 F! s1 ^" ^: U- l
* t6 b0 ?7 z7 _% \# C! @
http://www.tortall.net/projects/yasm/wiki/Download' N$ y( V9 P& i3 s: q2 |2 ?+ _
3 J, j9 S2 T  n
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip
# h, l( e1 T) [, x* C: @+ B! ~) g. L. f5 B
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置* N/ e3 g1 a! t( ~; \
4 U: @+ Y  r6 l7 p$ {4 C
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录) t1 S1 }) w  s  K8 f, y

5 v! ~  D! P( q3。接下来需要下载自定义生成的模板(自己理解的)8 ?( N$ a/ t# k

- ~. n/ Z1 V1 {+ R3 }* mVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules' V! [# p! s1 v9 Y, p/ s

' L) u$ o% G. W3 K; P1 r) G$ GVS2010可直接使用除了EXE外三个文件7 o- C" i' |' R% d2 Z: u) r& q$ o- v

6 A) u! h! _$ O4 e7 H4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32+ m" X2 s5 T9 G1 w+ N: D

  H: u4 e6 @$ u+ `% KVS2010有个一劳永逸的办法,将那三个文件放到
- W2 a$ A) o1 m( \, d6 L, p# v% K* S5 K, \) I9 F/ A2 D4 G4 A" W
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下2 ?9 x3 h7 K/ {& @+ K

5 s0 {. V3 D8 e7 Z0 O+ G( D8 [, w5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe. M1 M. ~- o8 E) a: f

) F. b+ S, G: j5 Q+ u; F       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。9 L, P; y8 {! Q5 Z

7 S$ o5 {: `# h  |) Q! Q% M6 G       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。$ \' i2 G5 O6 t2 b6 E
0 W, |3 U8 B- ]2 U: d- W  n4 l0 @
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
& y6 @1 }2 s* E" \: k
/ e  [# Q! r9 v
! _0 e+ X2 }" ^/ ~

; M3 @+ O  C- a, Z* N

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。
* R* q/ U# y4 j/ f& ?' K

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

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

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

; J: t; U4 H; J( Z3 B

# Z0 y6 k/ o. s& u6 ]

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2026-6-18 04:48 , Processed in 0.019276 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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