|
|
// [+] 09/25/09 (mm/dd/yy)- ?7 N, J* E9 U
, `. D3 L' M0 d7 C% j" S. s
下载地址:
1 G( \5 w( I/ o$ J, thttp://ttpublic.googlecode.com/files/x264-snapshot-20090216-2245.rar
: N' B% `' w0 h/ }* `
# i J1 V. _/ r- `6 W! B9 ] 总有人说最新的版本编译不过,搞的群、论坛里到处都是这种求助贴。建议斑竹把这个解决办法放到醒目的位置,以减少噪音。4 t! E8 S9 @1 `9 x7 C+ L
, M- |, n. {. J& Z
科普开始. d/ G9 L- Q9 G5 _& }7 e: y
8 [% v5 s' z. c! U1、编译问题' @0 p/ N0 E+ E5 i& y
由于MS的VS编译器对C99标准支持不好,不支持函数当中混合定义、声明变量。' D [# k9 m4 b9 {/ q
解决办法:在函数开头统一定义变量
! e) K: E* E P$ d6 ?* z) H% n- d4 a9 ^& n5 K
e.g
' W3 S+ m5 z3 y# y. H7 X
; ~( u' n/ l5 A# V) h" e编译不过- y9 M" E6 `" S0 y4 i6 U
void funA() { void funA() {
/ M# H) L+ [0 P int i,j; int i,j,x;
# |0 k0 N# Q, g9 s& [, a i = 0; ========> i = 0;, D) N: X' i& Y
int x = 0; x = 0;4 e- o. W9 R7 W* b
} }; \* |# Y( M2 @7 K
5 B [) h* A+ H1 A( M* r. _
2、链接问题 l! B F( @4 I8 g9 s" C2 W' S
1 h* m' N! ?, P; H
libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_init,该符号在函数 _x264_encoder_open_75 中被引用
- R2 T+ t! T3 A) H& }3 Q1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_is_empty,该符号在函数 _x264_encoder_encode 中被引用
8 T# }/ s9 S8 @. d1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_get_frames,该符号在函数 _x264_encoder_encode 中被引用/ x; X4 V, W. m" ~2 P: H
1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_put_frame,该符号在函数 _x264_encoder_encode 中被引用
, y: P8 G( S$ |8 ^$ o1 [' {1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_delete,该符号在函数 _x264_encoder_close 中被引用# O9 W: J u/ W
1>libx264.lib(analyse.obj) : error LNK2019: 无法解析的外部符号 _log2f,该符号在函数 _x264_mb_analyse_load_costs 中被引用
3 c$ V( l6 T: Q: h8 N c' D6 ~$ q. L# {8 I# W
由于最近x264_param中新添了lookahead,而对应Win32工程是没有及时更新。1 S* T# E T. d2 `4 [ z- l
把encoder/lookahead.c添加到工程里(和encode.c放在一起)即可。
+ ~+ X5 f& d& U+ h3 Z4 t2 n) b4 B5 @, } q
error LNK2019 unresolved external symbol _log2f
3 c. ~, j. t4 {- Q另外,如果最后出现error LNK2019 unresolved external symbol _log2f,在osdep.h里定义一下log2f(不知道性能如何) :1 n/ q( f( Q Q# _" L$ V3 m% A
4 ^% N* k1 @. D8 i$ {; d#ifdef _MSC_VER7 O2 ]; Y- @/ v+ ]* Z
#define inline __inline. v- J+ U; E2 E7 @) ?
#define strcasecmp stricmp& l6 }, @0 A4 d( K
#define strncasecmp strnicmp
+ F8 F; w. N: I0 e, O9 l9 r, C#define snprintf _snprintf
/ R: A3 S" |; {: N% D" g#define fseek _fseeki640 {" p' H$ l8 Q# b2 }; U" f
#define ftell _ftelli64; \" U( I* R8 y' N& j
#define isfinite _finite
f# g! d$ e- U0 D. G0 \#define strtok_r strtok_s
5 ?+ V5 n6 }) M7 Z8 ]#define _CRT_SECURE_NO_DEPRECATE/ d2 \& {/ d" m" v) e5 _0 m
#define X264_VERSION "" // no configure script for msvc
8 t- ?' R3 l2 A: _% G' s+ z' j#define log2f(x) (logf(x)*1.4426950408889634f)8 }. c' [- S# ]0 _5 d" J6 u
#endif
9 v8 V. h* w$ u0 b4 y
2 o. f3 q; n/ ]2 @* D或 :1 v1 e" D" K. c2 c" v2 y) D
#define log2f(x) ((float)log((double)(x)))/(log((double)2))& v9 Z6 A3 v* [# c8 \
|
|