[geos-devel] MingW compilation errors and patches

strk at refractions.net strk at refractions.net
Mon Jun 26 06:50:18 EDT 2006


On Mon, Jun 26, 2006 at 03:21:57AM -0600, Charlie Savage wrote:
> Three MingW compiling issues (this is gcc 3.4.5 on Windows).  First one 
> I'm not sure what to do about, the other two I've attached patches.  Let 
> me know if I should check them in .
> 
> 1.  The destructors in the .inl files seem to confuse ld.  In the 
> linking stage there are about 10 errors like these:
> 
> libs/libgeos.lax/libalgorithm.a/MCPointInRing.o: In function 
> `ZN4geos9algorithm13MCPointInRing10MCSelecterD1Ev':C:/Development/msys/src/geos/source/algorithm/../../source/headers/geos/algorithm/PointInRing.h:(.text$_ZN4geos4geom11LineSegmentD1Ev[__ZN4geos4geom11LineSegmentD1Ev]+0x0): 
> multiple definition of `geos::geom::LineSegment::~LineSegment()'
> .libs/inlines.o:C:/Development/msys/src/geos/source/../source/headers/geos/geom/LineSegment.inl:51: 
> first defined here
> 
> Any suggestions?

Is it a clean checkout ?
I guess the above can happen if you change GEOS_INLINES define
between different builds (deps problems).

> 2.  The finite function
> 
>  g++ -DHAVE_CONFIG_H -I. -I. -I../../source/headers 
> -I../../source/headers/geos -I../../source/headers -g -O2 -DGEOS_INLINE 
> -Wall -ansi -pedantic -Wno-long-long -MT HCoordinate.lo -MD -MP -MF 
> .deps/HCoordinate.Tpo -c HCoordinate.cpp  -DDLL_EXPORT -DPIC -o 
> .libs/HCoordinate.o
> HCoordinate.cpp: In member function `long double 
> geos::algorithm::HCoordinate::getX() const':
> HCoordinate.cpp:188: error: `finite' was not declared in this scope
> HCoordinate.cpp:188: warning: unused variable 'finite'

FINITE() and finite() are really different functions, you should
make sure the math.h header is included whenever finite() is used.
Actually, the manual page states that _BSD_SOURCE must be defined.
If anyone knows of a standard C++ equivalent that'd be nice.

--strk;



More information about the geos-devel mailing list