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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:
& U" l0 U" ^" {& d4 J( u7 `
% D* q7 r3 w5 R/ _) I' E
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar/ ~! c, _* ?$ J  i3 N

6 y4 T1 R  p: I* E# Z" X作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
, V! u8 i$ Q* P+ O9 Y6 o; W/ X, r4 n. y
2。下载yasm: Q& l' E7 K3 a$ a4 R7 ^; W2 x

" t+ J; P1 Z7 y
http://www.tortall.net/projects/yasm/wiki/Download; q7 ~& T" u3 I/ T1 c) H
1 h8 Z' k" s- C# ]" w8 G/ i( @
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip
6 Q" d4 p$ l# i. U
5 T4 _, j* H3 e' {: `8 o" ]# g解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置" p) O7 V4 A: O: E% L

' R) X1 l% C% n# I9 }将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录# [0 i# M9 h0 }2 @8 c' z8 t' |

1 c7 L6 J; |# Z# s: f3。接下来需要下载自定义生成的模板(自己理解的)) F  C# H; j4 O: X* O% R6 d

( x' M4 V/ @5 d" c- i- X. IVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules3 g( f  C' n# Y) Z9 M! v6 v* V
: N- |$ [( e7 l7 j; y7 S2 {8 _" H8 o
VS2010可直接使用除了EXE外三个文件* M: J) Q& L' o! z

$ h! \. `+ l0 ?; K9 L: m' l, b4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32: \6 y: X( O: N6 ?% n

8 n+ w& C, X8 U, M( g/ kVS2010有个一劳永逸的办法,将那三个文件放到& Q* B0 h0 X! u& C" J
$ C" B4 F5 C% ^- s( V9 U4 t
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下
; k3 Z% f2 ^& l3 P) j( M
3 W, `& C& H/ N8 A% M5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
* s' a2 U- ~3 e' m
* v4 y) {7 O; _4 X7 I8 e       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
2 V3 J2 U( z+ y2 b) }4 ]5 K9 B  P+ }
       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。
* |. P/ J. e2 Z
" V% [& k1 ]1 Y  r8 h     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
' U' `' j. r; K7 M* t

) |* q- K  h6 v& _: L
$ C0 e8 ~! v( f! d) P# ~% s( b7 c" u4 o: s1 ]& c: M3 z

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。$ D1 K% s9 |' S5 t' [

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

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

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

( v3 R5 W4 i4 |* Y6 G" K+ X
' ~! r( @' E2 H  m- J) u* e

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-12-29 20:00 , Processed in 0.021202 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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