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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:- I% ?7 M  b8 M2 Y; C+ i
6 d' t/ _4 G: a( _
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar$ i$ h. @# `; Z( r$ v  T

" ]1 v! a* z- A/ }, o/ x+ w作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS20088 m: y, H$ I! ]9 @

, {# U7 n2 @/ I" w' P$ a3 P2。下载yasm7 k3 d+ z( v, ]8 S! K$ }

% \6 ]* d0 w% r8 j
http://www.tortall.net/projects/yasm/wiki/Download
& |0 s) v4 O$ s
$ M, T2 v4 n. q) k9 o. I选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip! `: p6 j5 b- p* V
, m$ A9 u  h* c3 I: z" K
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
4 }- K6 z- L8 c) D0 }1 ^7 E, h9 s& L2 S& y8 T$ {8 v/ n! U
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录6 Z. o! O5 Z; o# z  B
3 [, I/ ^0 @/ q! V
3。接下来需要下载自定义生成的模板(自己理解的)
1 U1 ~5 q; G4 ?' V7 t8 S4 o8 `1 n" K, l* K! g. V
VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules1 k) x4 c! {0 w6 s- w9 H
( P0 s( w. [0 [+ a1 I, W
VS2010可直接使用除了EXE外三个文件
9 Z* G" Y6 s2 X# B& ?2 b" V# {3 w
5 R6 v3 w4 [9 k& j4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32% R0 |+ s1 H( P/ ?1 }
6 D8 J5 {8 |; g# |6 `! W( N
VS2010有个一劳永逸的办法,将那三个文件放到0 \3 F7 h  l5 `7 Q9 z
2 i+ k4 @) e7 M1 k: t( l1 L
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下' t8 Y% ?1 d" n
/ e! ?0 c  w4 ]; S* i7 T$ E
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe. ^1 B, U! O2 A5 _5 q; c
+ K8 z4 e8 k, h  t0 X" C
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。, {; e) r' _  Q2 @; k# t

# _/ W- N& z& `0 ?% T0 u- F       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。
6 j/ U' T5 t2 l$ U  k4 |: ^- e7 [& B
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:

! x1 d/ R0 k8 g! J% z
! D) z5 J- x2 c/ G$ S/ [' ]% J* \, Q0 }7 S% X  A
/ {) n% y% O9 b+ j" \

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。1 L2 d; _2 v4 E/ f

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

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

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

: R5 q/ T# G1 j5 C/ ?

! I$ \& m7 L/ ^% G  o

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-6-19 07:50 , Processed in 0.015483 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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