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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:$ S/ w' K1 r  L$ {' H0 E4 c5 e9 r
! @( @+ S9 G' f0 y/ l1 Z0 ?" h; v/ }
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
+ z( q7 V5 h# u2 s: K$ ^; Q4 P, ]; e& u& ?% L' K' V1 _; u, L
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
/ ?. O! N6 I9 |( O7 q" X- D5 d( v# Q/ T$ J
2。下载yasm; N) V5 T* C+ O$ s1 o8 h( i2 ~$ K

( z4 c- z, a) X2 \
http://www.tortall.net/projects/yasm/wiki/Download
. L& L/ H  t* x8 D& Y1 U3 a' J1 ]2 z; V3 I- e& s3 @. K
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip
# |4 U2 E! E4 m# `0 a0 `, E$ _2 @& [# u, r- k) m" f
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置7 b+ h. h1 ?! y. b
1 ^0 C; a! d( I. z" U" ~" S
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录2 e) H2 \1 H, a: @$ I/ ~

7 H* m& J1 ~$ r$ R+ L* H# F3。接下来需要下载自定义生成的模板(自己理解的)) e. k- N9 C4 v' U  h1 b
0 W; `6 V% ?. E9 N% |
VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
; z  K6 d/ U0 T0 M% a) b9 K
* ]' n8 s3 }& |9 q9 y1 B" N% H' o6 EVS2010可直接使用除了EXE外三个文件
9 g8 O: q+ c- P5 B3 N: o# A( ]' _6 c
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32( e  f8 d, R% y. [! s- [/ P
6 D; s4 l3 a9 D' @  Z) g: e& J6 o
VS2010有个一劳永逸的办法,将那三个文件放到7 x; `5 c# q. l8 E/ f
1 B: q4 p1 z; x% E( ?2 b
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下
6 g" @; h3 h& J2 A0 o
- }+ H, m3 ?" T, Z& f5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
" D5 @6 y( g1 Y9 \8 G
7 J1 a- }0 H6 f1 r' ]/ f       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
' }4 q1 c" q) t/ U- }3 i* I5 C- D! f$ [
       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。4 E0 [# K6 B5 y9 K' v
3 e9 a( q2 w2 V1 ~+ Z. [
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:

9 o6 |' ~- B2 U* n0 I9 Q# h2 i% P/ W' [& ]$ M/ t2 O' R8 }

# T9 S. B& t. Z+ Q: ~; q8 Z# X0 I/ [

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。0 S! _7 S  F# S0 w: |- ^2 [7 w

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

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

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


2 [& i/ V2 V) X  |9 k3 {* j+ x9 b9 ?( F7 a* u

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2026-5-2 11:47 , Processed in 0.018025 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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