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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:$ Z0 }4 K& u, F" d' u
4 w* M; l  H7 T
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar: v4 z# d2 n9 E

" H# r& t0 f$ ?) g1 z: m* ~作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008& L9 f' u: @! ~, i; G
: l- p2 }7 |4 J$ @
2。下载yasm
; Q: r; o- N$ q1 }/ a  w& O- w( @, C  d5 x0 E7 F
http://www.tortall.net/projects/yasm/wiki/Download
3 R/ S9 i0 e5 I/ k) M- o" F% u$ I6 h$ ?
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip- J5 {& b/ t( X  F; ^2 Z
+ j$ A1 u0 V( x1 m4 o# O
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
2 i. `& I# g9 W% M! u% E3 w8 m) w' |- r0 w5 U0 A1 v
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录
# l( Q5 x' o2 B5 U; F. q5 q8 ^5 x9 u( F& K2 x$ F0 V
3。接下来需要下载自定义生成的模板(自己理解的)+ ~7 r) Q2 Q8 g1 E% I! d- o

7 r  `& Z# Q; P1 \VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules
' \. h2 x' x8 o3 v8 m
$ N; I" f2 V/ Z: h( fVS2010可直接使用除了EXE外三个文件7 _5 I1 U0 i0 t# y2 e4 |4 m4 `+ O
  d$ u0 f* r' s" {
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
- K! w2 B# q6 W' E, D3 N! y
% [9 _: ~9 {3 q% c0 BVS2010有个一劳永逸的办法,将那三个文件放到
4 F) s! c( ^* z- b8 @4 X  {8 }/ d+ p/ Z! y" _3 I
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下; E5 m6 }( K- q* X
6 N8 e  e. ]1 G+ Y8 W3 O
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe# k) _; V7 a  T- z* t/ U+ T
+ Q# g. _/ X- Z. i$ i
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。! j" K' M, L9 H) E: `1 o7 W$ J
2 K2 J1 }  c, W4 \9 e6 e; d8 B
       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。+ p! N3 `2 O9 z0 A3 s9 F

" ?* |4 J0 d0 S     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:

: Q2 B- W- h! g* k1 D9 i2 o/ {1 d6 L% [, P5 k' t7 t. {

0 z+ X1 T  y2 C- p+ Y9 Z0 n$ V/ M5 W. s9 y0 v# c7 j

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。9 F& \% |2 H8 `' Q. s) A! Z

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

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

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


- s# M3 I- Y: F) c( d! ^  q$ w/ X& k7 [

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-11-14 18:12 , Processed in 0.017150 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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