gstreamer 0.10.36 源码编译error

在linux下编译gstreamer出现一下错误:

grammar.tab.c: In function 'priv_gst_parse_yyparse':

grammar.tab.c:1819:7: error: too few arguments to function 'priv_gst_parse_yylex'
   if (yychar == YYEMPTY)
       ^
./grammar.y:39:5: note: declared here
 int priv_gst_parse_yylex (void * yylval_param , yyscan_t yyscanner);
     ^
make[3]: *** [libgstparse_la-grammar.tab.lo] 错误 1
make[3]:正在离开目录 `/home/liuqian/work/gstreamer-0.10.36/gst/parse'
make[2]: *** [install-recursive] 错误 1
make[2]:正在离开目录 `/home/liuqian/work/gstreamer-0.10.36/gst'
make[1]: *** [install] 错误 2
make[1]:正在离开目录 `/home/liuqian/work/gstreamer-0.10.36/gst'
make: *** [install-recursive] 错误 1

这是由于本机装的bison3.0中grammar的参数做了调整,具体是:

---
 gst/parse/grammar.y | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y
index cd26a2a..ce85295 100644
--- a/gst/parse/grammar.y
+++ b/gst/parse/grammar.y
@@ -36,7 +36,7 @@
 
 typedef void* yyscan_t;
 
-int priv_gst_parse_yylex (void * yylval_param , yyscan_t yyscanner);
+int priv_gst_parse_yylex (void * yylval_param);
 int priv_gst_parse_yylex_init (yyscan_t scanner);
 int priv_gst_parse_yylex_destroy (yyscan_t scanner);
 struct yy_buffer_state * priv_gst_parse_yy_scan_string (char* , yyscan_t);
-- 
这样的话你可以像上面那样去修gst/parse/grammar.y,也可以把本机的bison3 从新装到2.5的版本

你可能感兴趣的:(gstreamer 0.10.36 源码编译error)