|
|
// [+] 09/25/09 (mm/dd/yy)
( t( G2 n/ h" Y2 E- K8 f" F; W
$ O0 U) U {& i4 ?下载地址:
E6 |" Z% Z. X, \; R% ?% Hhttp://ttpublic.googlecode.com/files/x264-snapshot-20090216-2245.rar$ B6 K9 U3 p: s1 @4 F7 {
5 E* M; {, B, A- }
总有人说最新的版本编译不过,搞的群、论坛里到处都是这种求助贴。建议斑竹把这个解决办法放到醒目的位置,以减少噪音。
7 o3 r& N$ m/ B/ ^, k$ h' E+ J. [
科普开始+ V# b) w: H/ D4 Y$ Z
9 N! c6 D5 V: |' m% a* o5 E, `/ {3 v1、编译问题2 f" o9 }7 X) C
由于MS的VS编译器对C99标准支持不好,不支持函数当中混合定义、声明变量。
2 a7 W' \8 P3 q( [' p% G解决办法:在函数开头统一定义变量
$ Y- R% H8 u3 c2 Q% M" K) } Q8 X* [& x# c
e.g, W, y% Q) T* f6 _1 `
4 f4 v) C! q9 w, x3 w1 T/ W$ x# N: M
编译不过0 |9 D2 ]/ o* c
void funA() { void funA() {% O8 s7 V, p: E
int i,j; int i,j,x;' k- B8 x. u% S& v+ P
i = 0; ========> i = 0;
# D6 d1 c4 ?" s3 ^5 J" C/ E int x = 0; x = 0;* k$ M2 _* z w% f
} }
% E5 C# N* _& [
( D( S# _; e" P$ k8 w+ e2、链接问题
' r; l# r _$ q% { S6 P2 W; b' u! R
libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_init,该符号在函数 _x264_encoder_open_75 中被引用* w* r. t7 l* v: r" |* d8 h$ S# |
1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_is_empty,该符号在函数 _x264_encoder_encode 中被引用
9 C+ t1 ^) P& F3 n! q- I+ L0 I1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_get_frames,该符号在函数 _x264_encoder_encode 中被引用 i1 ^1 w- v: H
1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_put_frame,该符号在函数 _x264_encoder_encode 中被引用5 h# D' D: F& T$ M7 K2 t
1>libx264.lib(encoder.obj) : error LNK2019: 无法解析的外部符号 _x264_lookahead_delete,该符号在函数 _x264_encoder_close 中被引用" m+ q* P$ ]$ A) w
1>libx264.lib(analyse.obj) : error LNK2019: 无法解析的外部符号 _log2f,该符号在函数 _x264_mb_analyse_load_costs 中被引用; w$ [9 Y9 L4 o, S0 @3 _7 e
# P# d7 p" f. V由于最近x264_param中新添了lookahead,而对应Win32工程是没有及时更新。
]1 u4 h# `9 n. U5 m! h9 B把encoder/lookahead.c添加到工程里(和encode.c放在一起)即可。
* ~' M% C. ~; @" `4 W8 P. n$ L: `6 L Z' F) ?6 ]! N
error LNK2019 unresolved external symbol _log2f* \9 s5 V r; h) {0 o8 a O5 a7 M
另外,如果最后出现error LNK2019 unresolved external symbol _log2f,在osdep.h里定义一下log2f(不知道性能如何) :! }2 _5 X, k: p+ {* d+ t* E9 n1 T
2 n" p0 R* b j9 i/ o#ifdef _MSC_VER# p- ^8 A" v1 ? S' r
#define inline __inline
6 l' v3 N, n9 y# V. n+ D#define strcasecmp stricmp
6 J2 p$ H- S. I3 c' ~" A; C, X/ J#define strncasecmp strnicmp+ u$ ^$ c/ F- O! Q+ f
#define snprintf _snprintf. l P( u+ x4 L; h+ h& G
#define fseek _fseeki64
& @ b/ T+ L& A7 e# x9 O5 v) V#define ftell _ftelli64
) z% o4 b' F& u2 {* O4 d9 n7 n#define isfinite _finite: C5 I7 x; F/ \; |
#define strtok_r strtok_s
- b6 I1 d8 t1 N1 s5 u#define _CRT_SECURE_NO_DEPRECATE
) `- I- ~/ {7 ?2 @1 S( A8 A#define X264_VERSION "" // no configure script for msvc
, H: o1 _4 X4 b1 @4 X3 L#define log2f(x) (logf(x)*1.4426950408889634f): n, t" j! Z8 g
#endif
j! l' ^; a9 e& b6 ?
# J/ g4 r* r u2 k- A( ]1 f或 :
0 y9 ~% }6 K, ^) o5 m' |#define log2f(x) ((float)log((double)(x)))/(log((double)2))- C: f5 y4 F. m K8 d* @& K
|
|