[GRASS-dev] recent updates to Vlib break vectors in GRASS 7
Glynn Clements
glynn at gclements.plus.com
Wed Dec 29 18:32:54 EST 2010
William Kyngesburye wrote:
> I suspect it's because r44722 added gprojects.h to Vlib, in particular
> that open_ogr.c where Michael got the error.
Erm, yeah. That's sounds like the most likely explanation.
> There are a lot sources in
> vlib, so I didn't check if any others included gprojects.h indirectly.
>
> So, the question then: add PROJINC to VECT_CFLAGS (for all vector stuff)
> or to the vlib makefile only?
Vlib/Makefile only.
The reason for VECT_CFLAGS is that vector.h includes geos_c.h and
vect/dig_structs.h includes ogr_api.h, so *anything* which uses those
headers needs the appropriate -I switches or an error will occur, even
if the module doesn't actually use the structure or function
declarations which use the OGR/GEOS types.
But simply including the vector headers doesn't pull in the PROJ
headers, so there's no need for VECT_CFLAGS to contain $(PROJINC).
Ideally, -I switches (and to a lesser extent, -L switches) should be
kept to a minimum; the more directories in a search path, the greater
the chance of encountering conflicting file names.
--
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-dev
mailing list