[geos-devel] Compiling GEOS on win32
Mateusz Loskot
mateusz at loskot.net
Thu Jul 27 07:58:11 EDT 2006
Theuns Heydenrych wrote:
> hi I am a newby with GEOS
>
> I installed svn and downloaded the latest code with svn. When
> compiling the source with nmake i get the following errors.
>
> Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
> Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
>
> copy ..\capi\geos_c.h.vc ..\capi\geos_c.h 1 file(s) copied. cl
> -Iheaders /MD /GR /O2 /D "NDEBUG" /nologo /D "NOMINMAX" /D "WIN32_LE
> AN_AND_MEAN" /D "NOGDI" /GX /c algorithm\CGAlgorithms.cpp
> /Foalgorithm\CGAlgori thms.obj CGAlgorithms.cpp
> algorithm\CGAlgorithms.cpp(342) : error C2039: 'min' : is not a
> member of 'std' algorithm\CGAlgorithms.cpp(342) : error C2065: 'min'
> : undeclared identifier algorithm\CGAlgorithms.cpp(343) : error
> C2039: 'min' : is not a member of 'std'
> algorithm\CGAlgorithms.cpp(344) : error C2039: 'min' : is not a
> member of 'std' algorithm\CGAlgorithms.cpp(350) : error C2039: 'min'
> : is not a member of 'std' algorithm\CGAlgorithms.cpp(351) : error
> C2039: 'min' : is not a member of 'std'
> algorithm\CGAlgorithms.cpp(352) : error C2039: 'min' : is not a
> member of 'std' NMAKE : fatal error U1077: 'cl' : return code '0x2'
> Stop.
>
>
> Is it posible to compile the code with Mingw32 and MSYS perhaps?
But you're not compiling with MinGW, are you?
>From the output above I see you're using VC++ 6, which is broken.
Honestly, VC++ is an evil if you're playing with C++.
Back to the problem, here you have the explanation:
http://msdn.microsoft.com/library/en-us/vccore/html/vclrfminmaxdefinechange.asp
http://babbage.cs.qc.edu/STL_Docs/algorithm_min.htm
Simply, std::min and std::max simply don't exist in the VC6 version of
STL, because it's a very old and not ISO C++ Standard compliant STL.
AFAIR, you won't be able to build GEOS using Visual C++ 6.0.
For example, geos uses in-place initialization of static const integer
data members, what feature is not supported by VC++ < 7.1 (Visual C++ 2003).
FYI, Recommended version of C++ compiler from Microsoft starts from
Visual C++ 2003 (7.1).
Best regards
--
Mateusz Loskot
http://mateusz.loskot.net
More information about the geos-devel
mailing list