[gdal-dev] OGRGeometry::IsEmpty missing from trunk build

Gregory, Matthew matt.gregory at oregonstate.edu
Tue Mar 7 13:47:51 PST 2017


Even Rouault wrote:
> On mardi 7 mars 2017 20:18:31 CET Gregory, Matthew wrote:
> > Hi all,
> > 
> > I was updating to the latest (python) Fiona version (1.7.4) and building
> > GDAL trunk to supply as the gdal201.dll it requires. I'm on Windows 7
> > 64-bit, compiling GDAL with VC9 as 32-bit DLL.
> > 
> > When I build a recent commit of GDAL (Github 04105a9), I don't get a symbol
> > for 'int OGRGeometry::IsEmpty(void)'. If I instead use the 2.1 branch
> > head (Github 4902d8c), that symbol is present and Fiona works correctly.
> > 
> > I see some references in comments to changes in OGRGeometry at 2.1, but am
> > not knowledgeable enough to know if it's expected that OGRGeometry::IsEmpty
> > should be missing.
> 
> OGRGeometry::IsEmpty() is now a pure virtual method in trunk, but
> that shouldn't be a problem. GDAL trunk builds fine on Windows
> with VC9 for me and on AppVeyor.
>  
> Are you sure you build Fiona against the GDAL trunk header and lib ?

Sorry for the noise ... I hadn't actually built Fiona - just had grabbed it from Christoph Gohlke's wheels and tried to use it alongside the trunk DLL.  I just built Fiona from source and built it against GDAL trunk header/lib and, you're right, everything works out fine.

What I didn't understand (and what I failed to mention in my first message) is that I ran 'dumpbin /exports' on the trunk DLL and the OGRGeometry::IsEmpty() symbol wasn't showing up there, which made me think it was missing. But it sounds like pure virtual methods don't generate any code, so no symbol gets generated.  

Again, sorry for the misunderstanding and I appreciate your help,
matt


More information about the gdal-dev mailing list