[Qgis-developer] problem compiling with qmake and visual studio 2005

Martin Dobias wonder.sk at gmail.com
Fri Oct 13 13:44:03 EDT 2006


On 10/13/06, godofredo contreras <frdcn at hotmail.com> wrote:
> Yes, I have flex and bison installed and in path. I added unistd.h from flex
> and bison installation directory.
>
> this is the error I get:
>
> qgssearchstringparser_yacc.cpp
> e:\qgis_devel\qgis\src\core\qgssearchstringparser.yy(160) : error C3861:
> 'qgssea
> rchstringparserparse': identifier not found
> e:\qgis_devel\qgis\src\core\y.tab.c(298) : error C2365:
> 'qgssearchstringparserpa
> rse' : redefinition; previous definition was 'formerly unknown identifier'
> qgssearchstringlexer_lex.cpp
> e:\qgis_devel\qgis\src\core\qgssearchstringlexer.ll(57) : error C2065:
> 'yylval'
> : undeclared identifier
> e:\qgis_devel\qgis\src\core\qgssearchstringlexer.ll(57) : error C2228: left
> of '
> .op' must have class/struct/union
>         type is ''unknown-type''
> e:\qgis_devel\qgis\src\core\qgssearchstringlexer.ll(58) : error C2228: left
> of '
> .op' must have class/struct/union
>         type is ''unknown-type''
> e:\qgis_devel\qgis\src\core\qgssearchstringlexer.ll(59) : error C2228: left
> of '
> .op' must have class/struct/union
>         type is ''unknown-type''
> e:\qgis_devel\qgis\src\core\qgssearchstringlexer.ll(60) : error C2228: left
> of '
> .op' must have class/struct/union
>         type is ''unknown-type''
> e:\qgis_devel\qgis\src\core\qgssearchstringlexer.ll(61) : error C2228: left
> of '
> .op' must have class/struct/union
>         type is ''unknown-type''
> e:\qgis_devel\qgis\src\core\qgssearchstringlexer.ll(62) : error C2228: left
> of '
> .op' must have class/struct/union
>         type is ''unknown-type''
> e:\qgis_devel\qgis\src\core\qgssearchstringlexer.ll(63) : error C2228: left
> of '
> .op' must have class/struct/union
>         type is ''unknown-type''
> e:\qgis_devel\qgis\src\core\qgssearchstringlexer.ll(64) : error C2228: left
> of '
> .op' must have class/struct/union
>         type is ''unknown-type''
> e:\qgis_devel\qgis\src\core\qgssearchstringlexer.ll(65) : error C2228: left
> of '
> .op' must have class/struct/union
>         type is ''unknown-type''
> e:\qgis_devel\qgis\src\core\qgssearchstringlexer.ll(71) : error C2228: left
> of '
> .number' must have class/struct/union
>         type is ''unknown-type''

This looks like qmake uses some special flags to generate these files
- instead of "yyparse" the parser function is called
"qgssearchstringparserparse", also lexer function "yylval" seems to be
called differently. I would suggest copying these generated files from
auto-maked sources:
- qgssearchstringparser.cc
- qgssearchstringparser.h
- qgssearchstringlexer.cc
to if it will compile correctly. Or you can try to override qmake
settings, but I don't know how.

Martin



More information about the Qgis-developer mailing list