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

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

[复制链接]
发表于 2011-5-25 21:07:50 | 显示全部楼层 |阅读模式
1.首先下载该处的X264:9 v) J! W6 x1 F" _" D7 k0 Q4 \

* n; K1 l5 [- H+ P. }9 @' B8 E2 \
http://truth-tracer.appspot.com/x264-snapshot-20090216-2245.rar
  K3 S, a9 P* X+ R- y. q+ @, [3 t. t% Y6 A) P! d  T
作者已经对该版本的X264进行了一定的修改。具体修改内容可见:http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008
% e9 r9 b/ {. J2 s3 c1 T: j9 P, F! Q) E* r$ C" f- J! B  v, ]: _
2。下载yasm
% P; V1 v# X( n
3 N: B8 Z; }) D7 m$ U- i  p
http://www.tortall.net/projects/yasm/wiki/Download
! i; F! m2 d, l' u, r- i# l5 O2 X2 F  H" O8 U4 X0 _
选择win32.exe.如果是VS2010则下载Win32 VS2010 .zip0 I+ F' o. y+ `8 D; H

4 U' _: n3 B2 R  M5 K; R解压后将.exe改名成yasm.exe,主要是方便工程里面yasm的设置5 _+ a& `* [, E  T4 u% }

# p4 c! R2 o5 M# V* D将.exe放在D:\Program Files\Microsoft Visual Studio 9.0\VC\bin,查找自己的相应目录% a" j& g' n* K2 S  K
/ n9 I& B, J' J3 I# h3 D+ C
3。接下来需要下载自定义生成的模板(自己理解的)3 i4 l/ B, z! f3 J0 ]
' a: I/ I: {0 q: V5 G6 ~6 ~
VS2008,VS2005下载 yasm.rules
http://www.tortall.net/svn/yasm/trunk/yasm/Mkfiles/vc9/yasm.rules" G. }1 Z6 K- {1 ]2 Z; B; y
. |$ V  T. R* d9 Z# H* p
VS2010可直接使用除了EXE外三个文件5 O+ ]' v/ b. N- N% O4 h
' V4 c+ V9 u, E# o  l- ]  q! w
4。模板放到你的工程目录下,如C。。。。。。\x264-snapshot-20090216-2245\x264-snapshot-20090216-2245\build\win32
, t6 g: C/ |! h: ?; a  r) @% d
( Y! `1 |' c- n! T2 P' e# CVS2010有个一劳永逸的办法,将那三个文件放到
  O: p/ n& w) `/ w! A3 W5 R! s- m' q: [% E- N. n* B9 I& T* q
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下
4 x- H; g: H0 _/ [& {. N$ }4 H$ t0 Q3 u
5。打开工程,编译X264具体的思路是先编译生成libx264d.lib,然后将该lib添加到工程lib库,最后对x264进行编译后生成x264.exe7 @% \; w; X4 b

+ R, g. u6 C1 T+ k: m       首先编译生成libx264d.lib.右击解决方案,选择自定义生成规则,选择查找现有的,然后在弹出对话框里选择放在该目录下的yasm.rules,如果你放在别的地方就同样的方式添加。
4 \0 w; [3 u) d
4 G$ l# q" K# q  l% {$ ~       然后右击解决方案,在属性里可以看到刚才新加的yasm assemble,vs2010貌似没有显示,但不妨碍。具体的东西不用动,接着下一步。
% I! ^9 M" k; |$ z
+ D. ^0 l# Q: `3 a) ?6 P     接下来打开解决方案的x86目录,可以发现ASM都集中在这里.刚才已经修改了yasm名字的,这里可以不用多改,不过也可以按照接下来的步骤进行检修改:
  w' |, v7 S3 F* t" @+ e, p

. V8 n! A5 Q" F9 L
- c4 {- d. \5 d  |& k$ q  R9 N2 G1 Y& L, R. L$ k

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

如果使用yasm的话,请注意你的工程所在目录中不能有中文,否则编译的时候yasm会显示???而导致不能进行汇编。: O! T6 d/ X- K& @: v

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

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

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


5 L. R9 e0 a. X* [, N
" H! g0 W; D$ S: R8 U

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

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

VS2010也同样可以解决。

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

本版积分规则

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

GMT+8, 2026-6-18 08:01 , Processed in 0.019329 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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