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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:
" U5 u, C- v( v
5 Z3 `! J) h* P* T& b  Y: Z
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar) B. Q+ ]: j! k+ E! z' x
; a: X) a5 u7 O: T, C  s- F* q2 n4 Z
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
) @( G% ?+ V, e3 a
' i: z+ I" W# A6 Y! b7 `2。下载yasm* }5 v- C' t9 n

5 F7 q" N3 |! v9 R% o! s$ Q  A
http://www.tortall.net/projects/yasm/wiki/Download+ g. k; I4 e6 _& o6 p- w1 \
: |% r  P6 ]  n( N  J1 b9 \- E# v
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip# a0 K! }* h$ p& J' Y6 z: ~

& d5 p0 y8 t( u" D# o+ \$ @解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
0 H4 D; W' K- z" T4 ~% H& E) e/ @0 x+ B/ M. Q- F3 _. h$ V) t
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录2 X3 ~' K" U& K- Y8 e5 O

4 Y9 |9 A3 r0 p$ k) D# M3。接下来需要下载自定义生成的模板(自己理解的)
% k/ S! R* A7 j5 {4 S! x8 @& v- K# s+ B$ A8 o
VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules! Y8 ]4 u. V& \/ q1 S
# M- k$ u8 Q! o( d4 }
VS2010可直接使用除了EXE外三个文件: D& x9 m  c/ L& x7 W3 y0 K4 C

# ^3 r5 \. K( [$ |3 U1 j4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32" q4 `1 `5 \+ A8 O0 D9 L, j

; x) m# y& q/ _" o, w+ p% ^" AVS2010有个一劳永逸的办法,将那三个文件放到7 q9 k7 i. R% @" L

* d, t$ q1 \" {; pC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下- C  N9 N( Y: P. q& c

1 Y0 Z1 O9 q2 _  ^3 B. q+ r' W5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
: Z  O! T2 B, E/ L0 P: N2 B
# c4 y* N* S) k, Q$ t3 ]       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
' h- f; z' L# S6 @; x
% q$ T2 E$ B9 m, l+ U. y       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。; }' Q0 Q; w- J

7 z% l6 d$ I% R# V9 I     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
6 M/ [6 S! e4 b& D
: s4 t7 O- q6 g7 t! [. Y
' @4 J9 Y9 n3 ]) h: _7 L

! ?' T4 E" c. ?4 v

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。5 }, [) C* y- S3 j. s

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

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

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

) J8 x0 H2 S) L$ P5 b

/ g" E- U: k2 A( v9 P- d. s3 y

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2026-8-13 18:59 , Processed in 0.016639 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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