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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:
; s1 Y6 U3 A& b+ n% T& J% @6 M5 ?/ u5 l
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
2 Z/ {$ ^/ L0 D0 p/ f  ^" T: [0 a: Y# X2 s
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
; E1 l& F3 p( ]- G$ y5 t
# |) i) c* @; Z" Q+ L( w' l2。下载yasm% O/ ^3 F& b* W
0 U3 E9 S' R) _( c, [$ ~
http://www.tortall.net/projects/yasm/wiki/Download
0 m9 x6 I# r/ [3 Y) W" P
  l& L  }5 `4 E' ]5 f选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip0 h% V9 P$ g+ h2 v% ]+ X* d
8 b3 o$ V! K9 s
解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置
! E+ q. s6 e' i( o0 o6 O; Z# p% B; Z: G# I) h  h4 ^
将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录1 ~$ P1 g/ n3 j
) e1 W# l7 f$ y$ {
3。接下来需要下载自定义生成的模板(自己理解的)  ?- v4 p: P- V9 k5 _

% `  w4 {% G7 e* _& i  e9 _$ gVS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules) w' ]0 |; V2 n; f

$ }: S& C0 {0 U5 O, T) r+ RVS2010可直接使用除了EXE外三个文件2 D* p* g6 V. F
# Q  C0 t& b7 j1 ^/ n. `" q
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
2 B- B+ ~% O  N9 R1 d" z8 d* p" Y; ^
VS2010有个一劳永逸的办法,将那三个文件放到4 S/ @; {) l  M) g

9 J. n  }" m4 B' d) GC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下
4 l" n' L- t' X% D
7 l8 a4 n. u6 K* m* A  H- J, d3 ^5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe
7 P0 T* A+ _! q( A6 Z0 M0 y' ]4 K, j) Z6 j' r4 q3 x, {
       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。- A) O) ]' ^2 M

% x% P" K4 Y0 V, G5 Q       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。1 i# C2 q6 H8 `( p
. ^) G( o1 g8 k4 F$ E& K
     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
7 @  |' j4 G2 e% z) ?; @

) k/ u0 Y! H3 Y& [6 M2 K, A! y' ~
! ^( x& c  C, P5 n0 L; ]1 P7 o; G3 D. z" L- r, p

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。. ^( O/ m" T) `

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

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

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


+ ?# [; `" C* u) F" m6 J+ d2 H' k+ y' J  o3 A

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2025-8-8 23:26 , Processed in 0.033569 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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