|
// [+] 09/25/09 (mm/dd/yy)' P6 `# b) [3 W4 L! {# A
- D$ r5 w+ c5 }
下载地址:
4 L* }, |, _& c4 X) C; I5 J7 ~http://ttpublic.googlecode.com/files/x264-snapshot-20090216-2245.rar
8 q7 E+ Y: d+ E+ O: ?1 n/ V: ~+ X W- p5 `( C! L, w8 a! g
总有人说最新的版本编译不过,搞的群、论坛里到处都是这种求助贴。建议斑竹把这个解决办法放到醒目的位置,以减少噪音。
5 f; o7 m, s5 r3 _1 U0 K1 S% P, u
科普开始
* i3 V6 d5 B4 F
) v- T1 j, s( B$ ]1、编译问题' f7 E0 |$ Y8 M9 C6 s4 z# L& E$ N
由于MS的VS编译器对C99标准支持不好,不支持函数当中混合定义、声明变量。& C& w+ g+ S+ W- H7 {( j
解决办法:在函数开头统一定义变量8 ~6 Q3 C) W E; o ]1 B
1 \8 A6 {( [, P2 ^* e
e.g, {1 M5 |: S. W1 ?; w" J' R: j
4 j) q/ G0 \ M; K- e1 L& i/ a编译不过
2 F1 t- ?1 c1 x: x0 E# evoid funA() { void funA() {. |: D6 C1 q6 n; {# B6 c
int i,j; int i,j,x;
: c+ E' c5 B. x1 H. @7 n i = 0; ========> i = 0;
+ L$ f4 a; ~& S2 v0 Z) S7 _ int x = 0; x = 0;
) y, o# j4 j' @0 e" j6 h( e} }5 a8 N m- b1 | R2 V
8 l- ]: X4 n( m* o* ^# u2、链接问题
+ u, N/ O3 E5 _4 u5 i: |) d/ e7 |, _$ t
libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_init,该符号在函数 _x264_encoder_open_75 中被引用3 k7 o2 H0 V' J9 l
1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_is_empty,该符号在函数 _x264_encoder_encode 中被引用
" f6 S* B. O0 f- s/ S! \1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_get_frames,该符号在函数 _x264_encoder_encode 中被引用! ?1 \" o& I: R% {1 ^1 [
1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_put_frame,该符号在函数 _x264_encoder_encode 中被引用: v; s' I, t1 B, J
1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_delete,该符号在函数 _x264_encoder_close 中被引用% F# a! w% E8 q& n1 O; A
1>libx264.lib(analyse.obj) : error LNK2019: 无法解析的外部符号 _log2f,该符号在函数 _x264_mb_analyse_load_costs 中被引用, z5 G6 e" L1 s3 `
$ V9 [7 v$ a; d2 |6 U7 m K* E
由于最近x264_param中新添了lookahead,而对应Win32工程是没有及时更新。
9 T1 \+ [ X- n9 u$ M3 H把encoder/lookahead.c添加到工程里(和encode.c放在一起)即可。' ^- h, c, M: ^' X! B* j, T0 c- L
9 F: _" Y5 o+ J5 M7 e2 k' yerror LNK2019 unresolved external symbol _log2f
" ^: w5 E" @; T+ \. z( p另外,如果最后出现error LNK2019 unresolved external symbol _log2f,在osdep.h里定义一下log2f(不知道性能如何) :! c e1 ~1 N" y: }1 P
6 U; j, v6 W) T$ x# w#ifdef _MSC_VER
: r) l |# ~; r7 f7 P2 `' L8 f#define inline __inline
' i$ p& O; ?5 J0 I& c: z- a3 C8 w#define strcasecmp stricmp8 q" P9 _+ i; V3 Q5 _. r+ q
#define strncasecmp strnicmp, l+ M9 C D. O$ L; G
#define snprintf _snprintf$ V# I, z2 A* N& q1 ^
#define fseek _fseeki640 ?2 C2 J d7 V
#define ftell _ftelli64
$ C7 ]+ I# R4 Y/ O1 A% J$ w( G#define isfinite _finite
, ?' z* w4 A7 ~3 L# `% B( Q. g#define strtok_r strtok_s3 t ^+ L: |6 g: P# V, I+ b
#define _CRT_SECURE_NO_DEPRECATE7 y) D/ F- T: y
#define X264_VERSION "" // no configure script for msvc; ?* Y: e/ a; v& T! _( v" Q0 V
#define log2f(x) (logf(x)*1.4426950408889634f)
2 H. w) b9 h; M% V. ?; \# q' W#endif* B. a5 D+ E& H9 x) S$ p4 P' B
/ N* w* `: E+ u0 ?0 s或 :; F# F& ?3 G/ U! c" N# s( S7 Y
#define log2f(x) ((float)log((double)(x)))/(log((double)2))5 y" U' I2 d9 O8 p
|
|