|
// [+] 09/25/09 (mm/dd/yy)8 H) m @4 v5 w& C; q
, `9 T5 w7 `8 v8 ?0 r下载地址:3 p- R. i. E5 w; [: b# Z4 l
http://ttpublic.googlecode.com/files/x264-snapshot-20090216-2245.rar
) G' y' J) I ]# R* |, `: T' j
0 d: f( O7 r# ?+ g% @ 总有人说最新的版本编译不过,搞的群、论坛里到处都是这种求助贴。建议斑竹把这个解决办法放到醒目的位置,以减少噪音。* K7 o7 K ?5 S" {$ q
' v, w0 U+ U$ w6 x% S* `. Y! d
科普开始
( [& o2 \. I* b
% ^2 S+ ?( x3 r: y, a) B1、编译问题
! C5 C: e: v# K3 Y& [. H6 h7 U" ~由于MS的VS编译器对C99标准支持不好,不支持函数当中混合定义、声明变量。- a" u, r6 n/ j; w
解决办法:在函数开头统一定义变量. o2 v% J/ I1 ` Q4 g
( z: u9 y' p, b1 R& k
e.g8 g1 W' ]* R5 i; z" D
- F! l* y4 H9 A3 g5 l; I O编译不过
8 p1 k% C. f: n: M6 V# fvoid funA() { void funA() {
6 I/ C$ P7 Z0 m0 z! v int i,j; int i,j,x;
3 [8 d1 S2 k9 c% t Y( }9 q i = 0; ========> i = 0;
. V6 v3 x: E) ^0 d! n int x = 0; x = 0;. k1 V" ~; b1 T: n2 C
} }. q' E/ d1 \3 F+ D4 _( j/ B# ]
4 U- u. A; f. C5 ]
2、链接问题4 M+ H0 L! i3 j& u) v; F
$ @6 N! h2 N6 R' k3 q: {/ u. Wlibx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_init,该符号在函数 _x264_encoder_open_75 中被引用4 X$ c: L9 ]" ?7 F! m, z1 x
1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_is_empty,该符号在函数 _x264_encoder_encode 中被引用% m4 v9 H; {$ F, ~$ L
1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_get_frames,该符号在函数 _x264_encoder_encode 中被引用 Y! t. O% L7 q! l) D- ^
1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_put_frame,该符号在函数 _x264_encoder_encode 中被引用
1 p8 {, [( T- U1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_delete,该符号在函数 _x264_encoder_close 中被引用! ~& s. Y9 x3 c% A/ a
1>libx264.lib(analyse.obj) : error LNK2019: 无法解析的外部符号 _log2f,该符号在函数 _x264_mb_analyse_load_costs 中被引用- ]6 S/ a/ k8 \8 I1 {/ J, W
* [# h! d7 [6 k; y5 O7 }由于最近x264_param中新添了lookahead,而对应Win32工程是没有及时更新。
6 R6 Z( l& m& `/ X6 v& S. r; X把encoder/lookahead.c添加到工程里(和encode.c放在一起)即可。
, ^4 `" \0 Z* a" g9 L
( `+ T. c. H- d/ Verror LNK2019 unresolved external symbol _log2f, {0 ]7 `+ N9 Q( M* ?. Z
另外,如果最后出现error LNK2019 unresolved external symbol _log2f,在osdep.h里定义一下log2f(不知道性能如何) :
1 F/ c$ |% t- s4 U) l: I, y3 b$ i1 G* |: F9 O U; A- ]
#ifdef _MSC_VER4 N/ t) L2 L1 s
#define inline __inline" Z7 y/ s9 ^; n0 J8 u4 s/ Z
#define strcasecmp stricmp1 I& o: S' \* t0 j( ?& I# k6 n
#define strncasecmp strnicmp4 j( V% `) f# V% M1 n9 _
#define snprintf _snprintf
( ~' k- F3 d/ o6 T" A% W#define fseek _fseeki64
/ \4 w: W0 }4 H' K3 H#define ftell _ftelli64; y' k! ~& ^' ^: b5 ?8 n0 W, G
#define isfinite _finite
8 L2 p2 X. d) b/ Q* U& t#define strtok_r strtok_s
& a) D1 v8 h+ ]# v8 ^' f#define _CRT_SECURE_NO_DEPRECATE
9 @( [7 P$ p9 d#define X264_VERSION "" // no configure script for msvc
4 u$ o+ U7 ]3 q, H4 I e#define log2f(x) (logf(x)*1.4426950408889634f)! \! J4 j8 l( i, r6 e
#endif
8 H6 D& l$ L# S8 Y# ^; U. v- j
& h K$ {2 O% N5 T或 :& O3 T' W* ]' A1 o% \ I* v1 L" o: p
#define log2f(x) ((float)log((double)(x)))/(log((double)2))
1 `- L& {2 w( Q) t7 k* ^) U: U |
|