/ 中存储网

告诉你Ubuntu 11.04 beta1编译t264的方法及命令

2015-02-04 00:00:00 来源:中存储网

环境:Ubuntu 11.04 beta1

1.../../common/cabac_engine.h:26:23: fatal error: Bitstream.h: No such file or directory

修改#include "Bitstream.h"为#include "bitstream.h"

2.Fatal error: can't create ../obj/cabac.o: No such file or directory

增加../obj目录

3.../../encoder/display.c:67:22: fatal error: X11/Xlib.h: No such file or directory

安装libx11-dev包

4.../../encoder/display.c:120:33: fatal error: X11/extensions/XShm.h: No such file or directory

安装x11proto-xext-dev和libxext-dev(安了这个第8个错误应该不错出现了)

5.../../decoder/block.c:1025:25: error: ‘index’ redeclared as different kind of symbol

将1025行的

static const int8_t index[4][4][6] =

{

{{0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0}, {1, 0, 0, 0, 1, 0}},

{{0, 2, 0, 0, 0, 0}, {1, 2, 0, 0, 0, 0}, {1, 3, 0, 0, 0, 0}, {1, 2, 0, 0, 1, 0}},

{{2, 2, 0, 0, 0, 0}, {2, 3, 0, 0, 0, 0}, {3, 3, 0, 0, 0, 0}, {3, 2, 0, 0, 1, 0}},

{{2, 0, 0, 0, 0, 1}, {2, 1, 0, 0, 0, 1}, {3, 1, 0, 0, 0, 1}, {1, 2, 0, 1, 1, 0}}

};

移动到之后的三个函数内部

6.../../encoder/plugins/ratecontrol.c:241:1: error: static declaration of ‘rc_update_pic’ follows non-static declaration
../../encoder/plugins/ratecontrol.c:77:6: note: previous declaration of ‘rc_update_pic’ was here
../../encoder/plugins/ratecontrol.c:594:1: error: static declaration of ‘rc_update_quad_model’ follows non-static declaration
../../encoder/plugins/ratecontrol.c:81:6: note: previous declaration of ‘rc_update_quad_model’ was here

将77行和81行的两个函数定义成静态的

7.

compiling object file "../obj/cpu.o" ...
make: f: Command not found
make: [../obj/cpu.o] Error 127 (ignored)
compiling object file "../obj/dct_sse2.o" ...
make: f: Command not found
make: [../obj/dct_sse2.o] Error 127 (ignored)
compiling object file "../obj/interpolate_sse2.o" ...
make: f: Command not found
make: [../obj/interpolate_sse2.o] Error 127 (ignored)
compiling object file "../obj/sad.o" ...
make: f: Command not found
make: [../obj/sad.o] Error 127 (ignored)
compiling object file "../obj/utility_mmx.o" ...
make: f: Command not found
make: [../obj/utility_mmx.o] Error 127 (ignored)

creating binary "../bin/t264"
gcc: ../obj/cpu.o: No such file or directory
gcc: ../obj/dct_sse2.o: No such file or directory
gcc: ../obj/interpolate_sse2.o: No such file or directory
gcc: ../obj/sad.o: No such file or directory
gcc: ../obj/utility_mmx.o: No such file or directory
make: *** [bin] Error 1

这是因为没装nasm,sudo apt-get install nasm就可以了

8./usr/bin/ld: cannot find -lXext
collect2: ld returned 1 exit status
make: *** [bin] Error 1

通过sudo apt-get install libxext-dev解决

9.建立bin目录

10.../obj/yuvrgb24.o: In function `init_dither_tab':
yuvrgb24.c:(.text+0x82): undefined reference to `clp'
yuvrgb24.c:(.text+0x92): undefined reference to `clp'
yuvrgb24.c:(.text+0xa1): undefined reference to `clp1'
yuvrgb24.c:(.text+0xb6): undefined reference to `clp'
yuvrgb24.c:(.text+0xef): undefined reference to `clp'
../obj/yuvrgb24.o: In function `ConvertYUVtoRGB':
yuvrgb24.c:(.text+0x163): undefined reference to `clp'

通过在makefile的CFLAGS中加-DUSE_DISPLAY解决

11.还有个错误是因为没有安装etags,装上就可以啦。