CODE:
[root@ws x264-linux-Comsenz]# make install
gcc -O4 -ffast-math -Wall -I. -DHAVE_MALLOC_H -DHAVE_MMX -DHAVE_SSE3 -DARCH_X86 -DSYS_LINUX -DHAVE_PTHREAD -s -fomit-frame-pointer -c -o x264.o x264.c
gcc -O4 -ffast-math -Wall -I. -DHAVE_MALLOC_H -DHAVE_MMX -DHAVE_SSE3 -DARCH_X86 -DSYS_LINUX -DHAVE_PTHREAD -s -fomit-frame-pointer -c -o matroska.o matroska.c
gcc -O4 -ffast-math -Wall -I. -DHAVE_MALLOC_H -DHAVE_MMX -DHAVE_SSE3 -DARCH_X86 -DSYS_LINUX -DHAVE_PTHREAD -s -fomit-frame-pointer -c -o muxers.o muxers.c
gcc -O4 -ffast-math -Wall -I. -DHAVE_MALLOC_H -DHAVE_MMX -DHAVE_SSE3 -DARCH_X86 -DSYS_LINUX -DHAVE_PTHREAD -s -fomit-frame-pointer -c -o common/cpu.o common/cpu.c
common/cpu.c: In function `x264_cpu_num_processors':
common/cpu.c:220: warning: passing arg 2 of `sched_getaffinity' makes integer from pointer without a cast
common/cpu.c:220: error: too few arguments to function `sched_getaffinity'
make: *** [common/cpu.o] Error 1解决办法到包下面的common\cpu.c找到下面这段代码
CODE:
#elif defined(SYS_LINUX)
unsigned int bit;
int np;
cpu_set_t p_aff;
memset( &p_aff, 0, sizeof(p_aff) );
sched_getaffinity( 0, &p_aff );
for( np = 0, bit = 0; bit < sizeof(p_aff); bit++ )
np += (((uint8_t *)&p_aff)[bit / 8] >> (bit % 8)) & 1;
return np;修改成为CODE:
#elif defined(SYS_LINUX)
int np;
np=2;
return np;其中np=2为CPU个数,改成当前你的CPU个数

最新回复