[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