Compilation Error on mapgeos.cpp for Windows Build of MapServer-4.8.4
Hong
ljfong at SDF.LONESTAR.ORG
Wed Aug 30 12:42:23 PDT 2006
Hello,
My build environment is:
- Windows XP SP2
- MS Visual Studio 2003
- mapserver-4.8.3-2-msvc71-buildk-kit.zip
- mapserver-4.8.4.tar.gz
I tried to compile mapserver with GEOS support. GEOS built successfully.
MapServer build stopped with compilation error of mapgeos.cpp:
mapgeos.cpp
mapgeos.cpp(110) : error C2061: syntax error : identifier 'GEOSException'
mapgeos.cpp(110) : error C2310: catch handlers must specify one type
mapgeos.cpp(111) : error C2065: 'ge' : undeclared identifier
mapgeos.cpp(111) : error C2227: left of '->toString' must point to class/struct/
union
type is ''unknown-type''
mapgeos.cpp(111) : error C2228: left of '.c_str' must have class/struct/union ty
pe
mapgeos.cpp(112) : error C2541: 'delete' : cannot delete objects that are not po
inters
mapgeos.cpp(112) : error C3861: 'ge': identifier not found, even with argument-d
ependent lookup
mapgeos.cpp(123) : error C2065: 'vector' : undeclared identifier
mapgeos.cpp(123) : error C2059: syntax error : '>'
mapgeos.cpp(125) : error C2065: 'parts' : undeclared identifier
mapgeos.cpp(125) : error C2061: syntax error : identifier 'vector'
mapgeos.cpp(127) : error C3861: 'parts': identifier not found, even with argumen
t-dependent lookup
...
Any suggestions, things to try out?
Thanks.
Hong
P.S. My nmake.opt:
########################################################################
# nmake.opt - MapServer 4.x configuration for MSVC++
########################################################################
# This VC++ configuration is used in building MAPSERVER.LIB,
# MAPSERVER_I.LIB MAPSERV.EXE, and the other
# MapServer command-line programs.
#
# To use the makefile:
# - Open a DOS prompt window
# - Run the VCVARS32.BAT script to initialize the VC++ environment variables
# - Start the build with: nmake /f makefile.vc
#
# $Id: nmake.opt,v 1.24.2.5 2006/04/10 16:01:33 hobu Exp $
#
# Contents:
# Section I: Mapserver Compilation Options
# Section II: MapServer Rendering Options
# Section III: MapServer Data Input Options
# Section IV: MapServer OGC Options
# Section V: MapScript Configuration Options
# Section VI: Support Libraries
# Section VII: Variable Setup
# Section VIII: UMN GIS System Support
# Section IX: Collect compiler flags
#
# The easiest way to get going is to use MSVC 2003 and the MapServer
# buildkit that is available at
# http://mapserver.gis.umn.edu/docs/howto/buildkit
# This will provide a full set of libraries to build MapServer will almost
# all of its options enabled. If you are building everything from
# scratch, start by commenting out most of the options and adding them
# in incrementally.
########################################################################
# Section I: Mapserver Compilation Options
########################################################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# File locations and where to install things
# ----------------------------------------------------------------------
# If you are using the MapServer Build Kit, almost everything should be
# relative to this directory throughout this option file.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Set the following to point to the current directory.
MS_BASE = D:\Projects\mapserver_latest_build\buildkit\mapserver-4.8.4
BINDIR = $(MS_BASE)\..\bin
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Optmization, debug, and related compile flags.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Optimized, with using MSVCRT.
OPTFLAGS = /nologo /Ox /MD $(WARNING_LEVEL) $(DEBUG) /EHsc
# For MSVC8
#OPTFLAGS = /nologo /Zi /MD $(WARNING_LEVEL) $(DEBUG) /EHsc /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
# Debug with MSVCRT
#OPTFLAGS = /nologo /Zi /MDd $(WARNING_LEVEL) $(DEBUG) /EHsc
#LDFLAGS = /NODEFAULTLIB:msvcrt /NODEFAULTLIB:libcd /DEBUG
# Uncomment the following to link mapserv.exe with a dll. In almost
# all cases you will want to do this.
DLLBUILD = 1
# Set the Warning level for the compiler (defaults to W1)
WARNING_LEVEL=/W3
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Debugging Options
# ----------------------------------------------------------------------
#NEED_NONBLOCKING_STDERR=-DNEED_NONBLOCKING_STDERR
ENABLE_STDERR_DEBUG=-DENABLE_STDERR_DEBUG
# Set the linker debug option
#LDEBUG=/debug
# DEBUG Build flags
# Set the DEBUG flag if you wish to make a debug build
#DEBUG=/DDEBUG
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# String methods
# ----------------------------------------------------------------------
# Apparently these aren't as commonplace. Edit the
# following line to reflect the missing functions on your platform.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#STRINGS=-DNEED_STRCASECMP -DNEED_STRNCASECMP -DNEED_STRDUP
STRINGS=-DNEED_STRCASECMP -DNEED_STRNCASECMP -DNEED_STRLCAT
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Threading
# ----------------------------------------------------------------------
# Enable if you want thread safe locking, not needed for simple CGI.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
THREADS=-DUSE_THREAD
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Ignoring Missing Data
# ----------------------------------------------------------------------
# If you want to ignore missing datafile errors uncomment the following
# line. This is especially useful with large tiled datasets that may not
# have complete data for each tile.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IGNORE_MISSING_DATA=-DIGNORE_MISSING_DATA
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Measures and Z values
# ----------------------------------------------------------------------
# If you want to use shape Z and M parameter this option must be set.
# It's OFF by default.
USE_POINT_Z_M=-DUSE_POINT_Z_M
#USE_POINT_Z_M=
########################################################################
# Section II: Mapserver Rendering Configuration
########################################################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# GD Library
# ----------------------------------------------------------------------
# Mapserver 4.x only supports GD 2.x and greater.
# GD is a required support library for MapServer 4.x.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GD_DIR=$(MS_BASE)\..\gdwin32
GD_LIB=$(GD_DIR)/bgd_i.lib
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# GD JPEG support
# ----------------------------------------------------------------------
# If you wish to allow JPEG output maps, uncomment the following flag.
# If not using a GD build with an internal copy of libjpeg, you will
# also need to uncomment JPEG_DIR and point to it; however, with BGD.DLL
# this is normally not necessary.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OUTPUT_JPEG=-DUSE_GD_JPEG
#JPEG_DIR=$(MS_BASE)\..\jpeg-6b
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# GD PNG support
# ----------------------------------------------------------------------
# If you wish to allow PNG output maps, uncomment the following flag.
# If not using a GD build with an internal copy of libpng, you will
# also need to uncomment PNG_DIR and ZLIB_DIR and point to it;
# however, with BGD.DLL this is normally not necessary.
# See http://www.libpng.org/pub/png/libpng.html for support library.
# See http://www.gzip.org/zlib/ for support library.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OUTPUT_PNG=-DUSE_GD_PNG
#PNG_DIR=$(MS_BASE)\..\libpng-1.2.8
#ZLIB_DIR=$(MS_BASE)\..\zlib-1.2.3
#ZLIB_INC=-I$(ZLIB_DIR)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# GD GIF support
# ----------------------------------------------------------------------
# Historical defines to use GIF as a result of the old Unisys patent
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#OUTPUT_GIF=-DUSE_GD_GIF -DGD_HAS_GDIMAGEGIFPTR
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# GD BMP support
# ----------------------------------------------------------------------
# If you wish to allow Windows BMP output maps,
# uncomment the following flag.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#OUTPUT_WBMP=-DUSE_GD_WBMP
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# GD Bitmap Font support
# ----------------------------------------------------------------------
# Bitmap font support (GD 2.0.22 and greater,
# see Bug 969 for more details)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GD_HAS_GETBITMAPFONT=-DGD_HAS_GETBITMAPFONT
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# GD Antialiasing support
# ----------------------------------------------------------------------
# If you want antialiasing (note that It requires gd2)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
USE_GD_ANTIALIAS=-DUSE_GD_ANTIALIAS
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# GD TrueType Font support
# ----------------------------------------------------------------------
# If you wish to annotate your maps with true type fonts unccomment the
# following flag. Provide the full path to the FreeType 2.x external
# support library, unless it is provided within your GD build as is the
# case with BGD.DLL.
# See http://www.freetype.org for support library.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ANNOTATION_FT=-DUSE_GD_FT
#FT_DIR=$(MS_BASE)\..\freetype-2.1.10
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# MING (Macromedia Flash SWF output support)
# ----------------------------------------------------------------------
# The MING library can be used to allow MapServer to output maps in
# flash format. Ming 0.2a is the only version known to compile and work
# on Win32. The 0.3 version does not work at this time. See
# http://ming.sourceforge.net for the support library and more
# information
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#MING=-DUSE_MING_FLASH
#MING_DIR=$(MS_BASE)\..\ming-0.2a
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# PDF (Acrobat PDF support)
# ----------------------------------------------------------------------
# If you wish to have PDF output, uncomment the following flag and
# provide the full path to the PDF support library project directory.
# See http://www.pdflib.com/products/pdflib/download-source.html to
# download the support library.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#PDF=-DUSE_PDF
#PDF_DIR=$(MS_BASE)\..\PDFlib-Lite-6.0.2
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# GEOS
# ----------------------------------------------------------------------
# GEOS provides support for spatial predicates and overlay/buffer
# operations. It can only be compiled on Windows with MSVC 7.0 or
# greater (or the cygwin/mingw stack).
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GEOS=-DUSE_GEOS
GEOS_DIR=$(MS_BASE)\..\geos
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ZLIB
# ----------------------------------------------------------------------
# ZLIB is required for PNG and for SVG support to allow the output of
# compressed files. If -DUSE_ZLIB is defined, you essentially have all
# you need for SVG output support
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ZLIB=-DUSE_ZLIB
#ZLIB_DIR=$(MS_BASE)\..\zlib-1.2.3
#ZLIB_INC=-I$(ZLIB_DIR)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ICONV
# ----------------------------------------------------------------------
#libiconv support is used for to support double bytes (see bug 911).
#uncomment the following to build with libiconv support.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ICONV=-DUSE_ICONV
#ICONV_DIR=$(MS_BASE)\..\libiconv-1.9.1
########################################################################
# Section III: Mapserver Data Input Configuration
########################################################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# GDAL
# ----------------------------------------------------------------------
# The lite version of mapserver 4.x supports only GIF, PNG and JPEG data
# for input. If you wish to support many geospatial raster formats
# for input you will need the GDAL support library from
# http://www.gdal.org/. Once built, enable the GDAL flag, and point
# GDAL_DIR to the directory where GDAL was built.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#GDAL=-DUSE_GDAL
#GDAL_DIR=$(MS_BASE)\..\gdal
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# OGR
# ----------------------------------------------------------------------
# The OGR library (part of GDAL) supports a variety of geospatial vector
# formats including mapinfo, Arc/Info binary coverages, S-57, SDTS,
# Microstation DGN (pre-v7), TIGER, UK .NTF. It also include support
# for treating non-spatial tablular data from ODBC, CSV, MySQL,
# Oracle Spatial, and PostgreSQL as spatial table with use of the
# VRT (virtual) driver.
#
# NOTE: Both -DUSE_OGR and -DUSE_GDAL need to be defined if you
# want to use GDAL/OGR for both raster and vector support, but GDAL_DIR
# needs only be defined once.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#OGR=-DUSE_OGR
#GDAL_DIR=$(MS_BASE)\..\gdal
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# JPEG Input
# ----------------------------------------------------------------------
# JPEG input for raster layers is also available through GDAL, If you wish
# to build support for JPEG without GDAL, uncomment the following flag
# and provide the full path to the jpeg support library project directory.
# See http://www.ijg.org/ for support library.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#JPEG=-DUSE_JPEG
#JPEG_DIR=$(MS_BASE)\..\jpeg-6b
#JPEG_INC = -I$(JPEG_DIR)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Direct connectivity to Postgresql PostGIS.
# ----------------------------------------------------------------------
# To turn on direct connectivity to Postgresql PostGIS uncomment the following
# flag and set the full path name to the project directory for the
# Postgresql native Win32 client library.
# See http://www.postgresql.org for support library.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#POSTGIS =-DUSE_POSTGIS
#POSTGIS_DIR =$(MS_BASE)\..\postgresql-8.1.2
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Direct connectivity to Oracle Spatial.
# ----------------------------------------------------------------------
# Point this to where your ORACLE_HOME directory lives.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ORACLE_DIR = d:\oracle\ora92
#ORACLE=-DUSE_ORACLESPATIAL
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Direct connectivity to ESRI ArcSDE.
# ----------------------------------------------------------------------
# To turn on direct connectivity to ArcSDE uncomment the following
# flags and set the full path name to the project directory for ArcSDE.
# The support library for ArcSDE (the ArcSDE C API/SDK) is typically
# only available for those with a full license of ArcSDE. It is not
# available for download.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SDE_OPT=-DUSE_SDE
SDE_VERSION = 91
SDE_DIR = C:\arcgis\arcsde
SDE_INC = -I$(SDE_SDK)\include
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# EPPL7 Support
# ----------------------------------------------------------------------
# This activates ERDAS as well. It is included in the distribution.
# Probably the best raster alternative if you've got EPPL7 laying
# around. See http://www.lmic.state.mn.us/ for more information.
# Uncomment out the following flag and set the full path name to the
# epplib.obj file.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#EPPL=-DUSE_EPPL
#EPPL_OBJ=c:/my_path/epplib.obj
########################################################################
# Section IV: Mapserver OGC Configuration
########################################################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# WMS Server
# ----------------------------------------------------------------------
#WMS=-DUSE_WMS_SVR
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# WMS Client
# ----------------------------------------------------------------------
# Use this flag to compile with WMS Client support. WMS Client support
# allows you to pull layers from other OGIS WMS servers on the interent and
# incorporate them into your map.
# To find out more about the OpenGIS Web Map Server Specification go to
# http://www.opengis.org/
# you need the libcurl library from http://curl.haxx.se/library/c/
# Set the full path to the curl project directory.
# You may also need to the full path to the windows socket library.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#WMSCLIENT= -DUSE_WMS_LYR
#CURL_DIR=$(MS_BASE)\..\curl-7.15.0
#WINSOCK_LIB = "WSOCK32.LIB"
#WINSOCK_LIB = "C:\Program Files\Microsoft Visual Studio\VC98\Lib\WSOCK32.LIB"
#WINSOCK_LIB ="C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib\WS2_32.Lib"
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# WFS Client
# ----------------------------------------------------------------------
# Use -DUSE_WFS_LYR to compile with WFS client support, requires libcurl
#WFSCLIENT= -DUSE_WFS_LYR
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# WFS Server
# ----------------------------------------------------------------------
# Use -DUSE_WFS_SVR to compile with WFS server
# support, requires OGR and PROJ4
#WFS=-DUSE_WFS_SVR
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# WCS Server
# ----------------------------------------------------------------------
# Use -DUSE_WCS_SVR to compile with WCS server support, requires GDAL.
#WCS=-DUSE_WCS_SVR
########################################################################
# Section V: MapScript Configuration Options.
########################################################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# SWIG location
# ----------------------------------------------------------------------
# SWIG is required to *generate* the C/C++ code that creates the
# bindings to various languages. You can download a pre-built binary
# for SWIG at http://www.swig.org. NOTE: The PHP bindings are *not*
# generated with SWIG at this time. If you use this makefile to
# make any MapScript bindings, eg. "nmake /f makefile.vc python", you
# will need to have SWIG installed.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SWIG = $(MS_BASE)\..\SWIG-1.3.29
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Java MapScript
# ----------------------------------------------------------------------
# Java MapScript very likely requires USE_THREAD to be defined. It is
# known to work with both JDK 1.5 and JDK 1.4
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#JAVA_HOME = "C:\Progra~1\Java\jdk1.5.0_06"
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Python MapScript
# ----------------------------------------------------------------------
# Python MapScript very likely requires USE_THREAD to be defined.
# Python 2.2 and above are supported.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#PYTHON_HOME = "$(MS_BASE)\..\Python-2.4.2"
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# PHP MapScript
# ----------------------------------------------------------------------
# The PHP_REGEX hack allows you to use PHP's regex system rather than
# the normal GNU regex library. This should normally not be needed.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#PHP_HOME = $(MS_BASE)\..\php-4.4.2
#PHP_REGEX=1
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# .NET/C# MapScript
# ----------------------------------------------------------------------
# .NET will of course only work with MSVC 7.0 and 7.1. Also note that
# you will definitely want USE_THREAD defined.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DOT_NET = YES
########################################################################
# Section VI: Support Libraries.
########################################################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Proj.4
# ----------------------------------------------------------------------
# If you would like mapserver to be able to reproject data from one
# geographic projection to another, uncomment the following flag
# Proj.4 distribution (cartographic projection routines). PROJ.4 is
# also required for all OGC services (WMS, WFS, and WCS).
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#PROJ=-DUSE_PROJ -DUSE_PROJ_API_H
#PROJ_DIR=$(MS_BASE)\..\proj-4.4.9
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# REGEX Libary
# ----------------------------------------------------------------------
# VC++ does not include the REGEX library... so we must provide our one.
# The following definitions will try to build GNU regex-0.12 located in the
# regex-0.12 sub-directory.
# If it was not included in the source distribution, then you can get it from:
# ftp://ftp.gnu.org/pub/gnu/regex/regex-0.12.tar.gz
# Provide the full path to the REGEX project directory
# You do not need this library if you are compiling for PHP mapscript.
# In that case the PHP regex library will be used instead
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!IFNDEF PHP_REGEX
REGEX_DIR=$(MS_BASE)\..\regex-0.12
!ENDIF
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# FastCGI Support
# ----------------------------------------------------------------------
# Uncomment, and update accordingly.
#FCGIDEF=-DUSE_FASTCGI
#FCGIDIR=$(MS_BASE)\..\fcgi-2.4.0
########################################################################
# Section VII: Variable Setup
########################################################################
# Should not need to be updated.
########################################################################
MS_LIB = mapserver.lib
MS_LIB_DLL = mapserver_i.lib
# Proj.4 include and library
!IFDEF PROJ_DIR
PROJ_INC=-I$(PROJ_DIR)/src
PROJ_LIB=$(PROJ_DIR)/src/proj_i.lib
!ENDIF
# CURL include and library
!IFDEF WMSCLIENT
CURL_INC = -I$(CURL_DIR)/include
CURL_LIB = $(CURL_DIR)/libcurl.lib
!ENDIF
# Set the jpeg library
!IFDEF JPEG_DIR
JPEG_LIB=$(JPEG_DIR)/libjpeg.lib
!ENDIF
# Set the png support libaries
!IFDEF PNG_DIR
PNG_LIB=$(PNG_DIR)\projects\visualc71\Win32_LIB_Release\libpng.lib $(ZLIB_DIR)/zdll.lib
!ENDIF
!IFDEF GEOS_DIR
GEOS_LIB=$(GEOS_DIR)/source/geos.lib
GEOS_INC=-I$(GEOS_DIR)/source/headers
!ENDIF
# Set the FreeType library
!IFDEF FT_DIR
FT_LIB=$(FT_DIR)/objs/freetype2110.lib
!ENDIF
# GD include and library
GD_INC= -I$(GD_DIR)
GD_LIBS= $(GD_LIB) $(JPEG_LIB) $(PNG_LIB) $(FT_LIB)
GD= $(OUTPUT_PNG) $(OUTPUT_JPEG) $(OUTPUT_WBMP) $(OUTPUT_GIF) $(ANNOTATION_FT) $(GD_HAS_GETBITMAPFONT)
# Tiff library on input
!IFDEF TIFF
TIFF_INC=-I$(TIFF_DIR)/libtiff
TIFF_LIB=$(TIFF_DIR)/libtiff/libtiff.lib
!ENDIF
# JPEG library on input
!IFDEF JPEG_DIR
JPEG_LIB=$(JPEG_DIR)/libjpeg.lib
!ENDIF
# Setup GDAL includes and libraries
!IFDEF GDAL
GDAL_INC = -I$(GDAL_DIR)/gcore -I$(GDAL_DIR)/alg -I$(GDAL_DIR)/ogr -I$(GDAL_DIR)/port
GDAL_LIB = $(GDAL_DIR)/gdal_i.lib
!ENDIF
# Setup OGR includes and libraries
!IFDEF OGR
OGR_INC = -I$(GDAL_DIR)/ogr/ogrsf_frmts -I$(GDAL_DIR)/ogr -I$(GDAL_DIR)/port
OGR_LIB = $(GDAL_DIR)/gdal_i.lib
!ENDIF
# Setup ESRI SDE support.
!IFDEF SDE_OPT
SDE_INC=-I$(SDE_DIR)/include
SDE_LIB = $(SDE_DIR)\lib\pe$(SDE_VERSION).lib \
$(SDE_DIR)\lib\sde$(SDE_VERSION).lib \
$(SDE_DIR)\lib\sg$(SDE_VERSION).lib
!ENDIF
# Setup REGEX object and includes
!IFNDEF PHP_REGEX
REGEX_OBJ=$(REGEX_DIR)\regex.obj
REGEX_INC=-I$(REGEX_DIR)
!ELSE
REGEX_OBJ=$(PHP_HOME)\regex\regcomp.obj $(PHP_HOME)\regex\regerror.obj \
$(PHP_HOME)\regex\regexec.obj $(PHP_HOME)\regex\regfree.obj
REGEX_INC=-I$(PHP_HOME)/regex -DPHP_NO_ALIASES
!ENDIF
# REGEX needs some special flags... here they are for VC++ 6.0
REGEX_OPT=-DHAVE_STRING_H -DREGEX_MALLOC
# Setup Postgesql PostGIS includes and libs
!IFDEF POSTGIS
!IFNDEF PHP_BUILD_CALL
# If we're building PHP MapScript, there is a macro conflict
POSTGIS_INC=-I$(POSTGIS_DIR)/src/interfaces/libpq -I$(POSTGIS_DIR)/src/include
!ENDIF
POSTGIS_LIB=$(POSTGIS_DIR)/src/interfaces/libpq/release/libpqdll.lib
!ENDIF
# Setup FLASH includes and libs
!IFDEF MING
MING_INC=-I$(MING_DIR)/src -I$(MING_DIR)
MING_LIB= $(MING_DIR)/src/libming.lib
#MING_VERSION=-DMING_VERSION_03
!ENDIF
# Setup PDF includes and libs
!IFDEF PDF
PDF_LIB=$(PDF_DIR)/libs/pdflib/Release_DLL/pdflib.lib
PDF_INC=-I$(PDF_DIR)/libs/pdflib
!ENDIF
#Oracle support
!IFDEF ORACLE
ORACLE_INC=-I$(ORACLE_DIR)/oci/include
ORACLE_LIB=$(ORACLE_DIR)/oci/lib/msvc/oci.lib
!ENDIF
#libiconv support
!IFDEF ICONV
ICONV_LIB=$(ICONV_DIR)\lib\iconv.lib
ICONV_INC= -I$(ICONV_DIR)\include
!ENDIF
#fcgi support
!IFDEF FCGIDEF
FCGILIB=$(FCGIDIR)\libfcgi\Release\libfcgi.lib
FCGIINC=-I$(FCGIDIR)\include
!ENDIF
########################################################################
# Section VIII: UMN GIS System Support
########################################################################
# Should not need to be updated.
########################################################################
#
# UofMN GIS/Image Processing Extension (very experimental)
#
#EGIS=-DUSE_EGIS
!IFDEF EGIS
ERR_DIR=c:/my_path_to/errLog
ERR_OBJ=$(ERR_DIR)/errLog.o
ERR_INC=-I$(ERR_DIR)
ERR_LIB=-L$(ERR_DIR) -lerrLog
IMGGEN_DIR=c:/my_path_to/imgSrc
IMGGEN_OBJ=$(IMGGEN_DIR)/imgLib.o
IMGGEN_INC=-I$(IMGGEN_DIR)
IMGGEN_LIB=-L$(IMGGEN_DIR) -limgGEN
!ENDIF
########################################################################
# Section IX: Collect compiler flags
########################################################################
# Should not need to be updated.
########################################################################
EXTERNAL_LIBS=$(GD_LIBS) $(TIFF_LIB) $(JPEG_LIB) \
$(PROJ_LIB) $(OGR_LIB) $(GDAL_LIB)\
$(CURL_LIB) $(MING_LIB) $(PDF_LIB) \
$(WINSOCK_LIB) $(POSTGIS_LIB) $(IMGGEN_LIB) $(ERR_LIB) \
$(ORACLE_LIB) $(SDE_LIB) $(ICONV_LIB) $(FCGILIB) $(GEOS_LIB)
LIBS=$(MS_LIB) $(EXTERNAL_LIBS)
LIBS_DLL=$(MS_LIB_DLL) $(EXTERNAL_LIBS)
INCLUDES=$(GD_INC) $(TIFF_INC) $(JPEG_INC) \
$(PROJ_INC) $(REGEX_INC) $(GDAL_INC) $(OGR_INC) \
$(CURL_INC) $(MING_INC) $(PDF_INC) $(POSTGIS_INC) \
$(IMGGEN_INC) $(ERR_INC) $(ORACLE_INC) $(SDE_INC)\
$(ICONV_INC) $(FCGIINC) $(GEOS_INC) $(ZLIB_INC)
MS_DEFS = $(REGEX_OPT) $(STRINGS) $(POSTGIS) -DWIN32 -D_WIN32 \
$(EPPL) $(PROJ) $(TIFF) $(JPEG) $(GD) $(OGR) $(WMS) $(THREADS) \
$(WMSCLIENT) $(MING) $(IGNORE_MISSING_DATA) \
$(NEED_NONBLOCKING_STDERR) $(ENABLE_STDERR_DEBUG) \
$(USE_POINT_Z_M) $(GDAL) $(FCGIDEF) \
$(WFS) $(WFSCLIENT) $(WCS) $(PDF) $(EGIS) \
$(USE_GD_ANTIALIAS) $(ORACLE) $(MING_VERSION) \
$(SDE_OPT) $(ICONV) $(GEOS) $(ZLIB)
MS_CFLAGS=$(INCLUDES) $(MS_DEFS)
More information about the MapServer-users
mailing list