在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的版本