|
MingW compilation errors and patches: msg#00076gis.geos.devel
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? 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' 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. gettimeofday 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 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
geos-devel mailing list geos-devel@xxxxxxxxxxxxxxxxxxxx http://geos.refractions.net/mailman/listinfo/geos-devel |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: C API, GEOSGeom_getCoordSeq, quick question...: 00076, Stephen Lime |
|---|---|
| Next by Date: | Re: Assertions in CoordinateArraySequence: 00076, Mateusz Loskot |
| Previous by Thread: | C API, GEOSGeom_getCoordSeq, quick question...i: 00076, Stephen Lime |
| Next by Thread: | Re: MingW compilation errors and patches: 00076, strk |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |