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? 2. The finite functiong++ -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' Patch: Index: source/headers/geos/platform.h.in =================================================================== RCS file: /home/cvs/postgis/geos/source/headers/geos/platform.h.in,v retrieving revision 1.10 diff -u -r1.10 platform.h.in --- source/headers/geos/platform.h.in 12 Jun 2006 13:57:54 -0000 1.10 +++ source/headers/geos/platform.h.in 26 Jun 2006 08:03:12 -0000 @@ -37,6 +37,10 @@#define FINITE(x) ( (x) != DoubleNotANumber && (x) != DoubleInfinity && (x) != DoubleNegInfinity )
#define ISNAN(x) ( (x) == DoubleNotANumber ) +#if defined(__GNUC__) && defined(_WIN32) +#define finite(x) FINITE(x) +#endif + #ifdef HAVE_INT64_T_64 typedef int64_t int64; #else 3. gettimeofdayg++ -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 CoordinateSequence.lo -MD -MP -MF .deps/CoordinateSequence.Tpo -c CoordinateSequence.cpp -DDLL_EXPORT -DPIC -o .libs/CoordinateSequence.o
In file included from ../../source/headers/geos/profiler.h:22, from CoordinateSequence.cpp:17:../../source/headers/geos/timeval.h: In function `int gettimeofday(timeval*, timezone*)': ../../source/headers/geos/timeval.h:60: error: `tzset' was not declared in this scope
../../source/headers/geos/timeval.h:60: warning: unused variable 'tzset'../../source/headers/geos/timeval.h:63: error: `_timezone' was not declared in this scope ../../source/headers/geos/timeval.h:64: error: `_daylight' was not declared in this scope
../../source/headers/geos/timeval.h:63: warning: unused variable '_timezone' ../../source/headers/geos/timeval.h:64: warning: unused variable '_daylight' Patch: Index: source/headers/geos/timeval.h =================================================================== RCS file: /home/cvs/postgis/geos/source/headers/geos/timeval.h,v retrieving revision 1.3 diff -u -r1.3 timeval.h --- source/headers/geos/timeval.h 20 Mar 2006 10:14:01 -0000 1.3 +++ source/headers/geos/timeval.h 26 Jun 2006 08:48:58 -0000 @@ -32,6 +32,16 @@ #endif /* _WIN32 */ +/* For MingW the appropriate definitions are included in + time.h but they are protected by the __STRICT_ANSI__ + definition. Since GEOS is compiled with -ansi and + -pedantic, they don't get included. */ +#if defined(_WIN32) && defined(__GNUC__) +extern _CRTIMP void __cdecl _tzset (void); +__MINGW_IMPORT int _daylight; +__MINGW_IMPORT long _timezone; +#endif + #if defined(_WIN32) && !defined(_WIN32_WCE) __inline int gettimeofday(struct timeval *tv, struct timezone *tz) Thanks, Charlie
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ geos-devel mailing list geos-devel@geos.refractions.net http://geos.refractions.net/mailman/listinfo/geos-devel