Win32 Mapserver build failure

Mark Leslie mark at REFRACTIONS.NET
Mon Aug 9 18:48:39 EDT 2004


I am having trouble with a building Mapserver 4.2.2 on a Windows 2000
machine.  I built it with Proj, freetype compiled from source and gd
windows binaries dist using the attached makefile.  I'm using MS's build
tools (cl, nmake, lib, link).  Once compiled, mapserv -v returns what is
expected, but accessing it through via Apache gives an application
error: "memory could not be written".  Running mapserv
QUERY_STRING="..." was not helpful, since QUERY_STRING was not
recognized, but shp2img produced the same error.  The map file I'm
attempting to use (attached) is from the mapserver recipes page, and
runs fine on a linux build.
I'm at my wits end with this, and would really appreciate any thoughts
you might have.

Mark

-------------- next part --------------
#
# makefile.vc - Main MapServer makefile for MSVC++
#
# This VC++ makefile will build MAPSERVER.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: Makefile.vc,v 1.45 2004/04/13 20:41:22 assefa Exp $
#
MAPSERVER_ROOT = .

#
# nmake.opt - MapServer 4.x configuration for MSVC++
#
# This VC++ configuration is used in building MAPSERVER.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.4 2004/04/12 18:38:24 assefa Exp $
#
# Contents:
#   Section I:   Mapserver Options (you may want to edit)
#   Section II:  Support Libraries (you must edit)
#   Section III: Debug Flags (no need to edit)
#   Section IV:  Variable Setup (should not need to edit)
#   Section V:   UMN GIS System Setup (should not need to edit)
#   Section VI:  Collect compiler flags
#
########################################################################
# Section I: Mapserver Options
########################################################################

MS_LIB =        mapserver.lib
MS_LIB_DLL  =   mapserver_i.lib

# Uncomment the following to link mapserv.exe withh dll
DLLBUILD=1


# Input raster format options:
#
# The lite version of mapserver 4.x supports only PNG and JPEG data for input.
#
# If you wish to support any of the following raster formats you will need
# the GDAL support library from http://www.remotesensing.org/gdal.
# Once you have the library, set the flag below to compile with GDAL and
# provide the full path to GDAL project directory
#
# Format Name
#   Arc/Info ASCII Grid AAIGrid
#   Arc/Info Binary Grid (.adf) AIG
#   Microsoft Windows Device Independent Bitmap (.bmp) BMP
#   BSB Nautical Chart Format (.kap) BSB
#   CEOS (Spot for instance) CEOS
#   First Generation USGS DOQ (.doq) DOQ1
#   New Labelled USGS DOQ (.doq) DOQ2
#   Military Elevation Data (.dt0, .dt1) DTED
#   ERMapper Compressed Wavelets (.ecw) ECW
#   ESRI .hdr Labelled EHdr
#   ENVI .hdr Labelled Raster ENVI
#   Envisat Image Product (.n1) Envisat
#   EOSAT FAST Format FAST
#   FITS (.fits) FITS
#   Graphics Interchange Format (.gif) GIF
#   Arc/Info Binary Grid (.adf) GIO
#   GRASS Rasters GRASS
#   TIFF / GeoTIFF (.tif) GTiff
#   Hierarchical Data Format Release 4 (HDF4) HDF4
#   Erdas Imagine (.img) HFA
#   Atlantis MFF2e HKV
#   Japanese DEM (.mem) JDEM
#   JPEG2000 (.jp2, .j2k) JPEG2000
#   JPEG2000 (.jp2, .j2k) JP2KAK
#   NOAA Polar Orbiter Level 1b Data Set (AVHRR) L1B
#   Atlantis MFF MFF
#   NITF NITF
#   OGDI Bridge OGDI
#   PCI .aux Labelled PAux Yes
#   Netpbm (.ppm,.pgm) PNM Yes
#   USGS SDTS DEM (*CATD.DDF) SDTS
#   SAR CEOS SAR_CEOS
#   USGS ASCII DEM (.dem) USGSDEM
#   X11 Pixmap (.xpm) XPM
#GDAL=-DUSE_GDAL
#GDAL_DIR=c:\MSSDE\gdal-1.2.1

#
# Input vector format options
#
# The lite version of Mapserver 4.x only suports ESRI shapefiles for input.
#
# If you wish to support any of the following vector formats you will need
# the GDAL support library with OGR from http://www.remotesensing.org/gdal.
# Once you have the library, set the flag below to compile with OGR and
# provide the full path to GDAL project directory
#
# Format Name
#   Arc/Info Binary Coverage
#   FMEObjects Gateway
#   IHO S-57 (ENC)
#   Mapinfo File
#   Microstation DGN
#   OGDI Vectors
#   Oracle Spatial
#   PostgreSQL
#   SDTS
#   UK .NTF
#   U.S. Census TIGER/Line
#
#OGR=-DUSE_OGR
#GDAL_DIR=c:\projects\gdal

#ECW support
#
#ECW is one of the formats supported through GDAL. If you have built
#gdal with ECW support, you need to link it with the ECW librarires.
#uncommnet the following lines to have the ECW support.
#ECW_DIR= C:\projects\ECW_SDK

#Xerces support
#
#If GDAL was compoiled with the Xerces support, you need to use the
#xerces library. #uncommnet the following line to have the Xerces support
#XERCES_DIR = c:\projects\xerces-c1_6_0-win32

# Comment out the following to disable ODBC support.
#ODBC_SUPPORTED = 1

# Tiff Input
#
# Tiff input is also available through GDAL. If you wish to build to support
# TIFF input without GDAL you will need to unccomment the following flag
# and set the full path to the project directory containing libtiff.
# See http://www.libtiff.org/ for support library
#TIFF=-DUSE_TIFF
#TIFF_DIR=c:\MSSDE\tiff-v3.6.1

# 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=c:/projects/gdal/frmts/jpeg/libjpeg

# Output format options:
# If you wish to allow JPEG output maps, uncomment the following flag
# and provide the full path to the jpeg support library project directory.
# See http://www.ijg.org/ for support library.
#OUTPUT_JPEG=-DUSE_GD_JPEG
#JPEG_DIR=c:\MSSDE\gdal-1.2.1\frmts\jpeg\libjpeg

# If you wish to allow PNG output maps, uncomment the following flag
# and provide the full path to the png and zlib support library project
# directories.
# 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=c:\MSSDE\lpng125

#ZLIB_DIR=c:\MSSDE\zlib121

# If you wish to allow Windows BMP output maps, uncomment the following flag.
OUTPUT_WBMP=-DUSE_GD_WBMP

# If you wish to have FLASH output, uncomment the following flag and provide
# the full path to the MING support library project directory.
# See http://ming.sourceforge.net/ for support library.
#MING=-DUSE_MING_FLASH
#MING_DIR=c:/projects/ming-0.2a
#MING_DIR=c:/projects/ming-0.3beta1


# 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/ for support library.
#PDF=-DUSE_PDF
#PDF_DIR=c:/projects/pdflib-4.0.3


# Annotation fonts.
#
# 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
# supprt library.  See http://www.freetype.org for support library.
ANNOTATION_FT=-DUSE_GD_FT
FT_DIR=c:\MSSDE\freetype-2.1.9


# 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 =c:/projects/libpq

#Orcale
#ORACLE_DIR = c:\Oracle\Ora81
#ORACLE=-DUSE_ORACLESPATIAL

#OGDI
#OGDI_DIR = c:\projects\ogdi-3.1.0
#OGDI_LIB = $(OGDI_DIR)\lib\ogdi31.lib

# Direct connectivity to ArcSDE.
#
# To turn on direct connectivity to ArcSDE uncomment the following
# flag and set the full path name to the project directory for ArcSDE.
# Since ESRI includes the version number in the name of their libraries
# you may need to change that number in Section III of this configuration
# file.
# See http://www.esri.com/software/arcgis/arcinfo/arcsde/index.html for
# support library
#SDE_OPT=-DUSE_SDE -DWIN32
#SDE_DIR=c:\arcgis\arcsde

# 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

# 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

NEED_NONBLOCKING_STDERR=-DNEED_NONBLOCKING_STDERR

ENABLE_STDERR_DEBUG=-DENABLE_STDERR_DEBUG

# If you want antialiasing (note that It requires gd2)
USE_GD_ANTIALIAS=-DUSE_GD_ANTIALIAS

# Use this flag to compile with WMS Server support.
# To find out more about the OpenGIS Web Map Server Specification go to
# http://www.opengis.org/
WMS=-DUSE_WMS_SVR

# 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 will also need to set the full path to the Microsoft Visual C++ windows
# socket library.
#WMSCLIENT= -DUSE_WMS_LYR
#CURL_DIR=c:/projects/curl-7.10.2
#CURL_DIR=c:\MSSDE\curl-7.12.0
#WINSOCK_LIB = "C:\Program Files\Microsoft SDK\Lib\WSOCK32.LIB"

# Use -DUSE_WFS_SVR to compile with WFS server support, requires OGR and PROJ4
# Use -DUSE_WFS_LYR to compile with WFS client support, requires libcurl
#WFS=-DUSE_WFS_SVR
#WFSCLIENT= -DUSE_WFS_LYR


# Reprojecting.
# 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).
# Not required for normal use. (EXPERIMENTAL)
# For PROJ_DIR use full path to Proj.4 distribution
PROJ=-DUSE_PROJ -DUSE_PROJ_API_H
PROJ_DIR=c:\MSSDE\proj-4.4.8

# PHP Mapscript.
# If you plan to build PHP mapscript uncomment the following flag and
# set the full path to the PHP project directory
#PHP=1
#PHP_DIR=c:\projects\php-4.3.4

# 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


########################################################################
# Section II: External Support Libraries
########################################################################
# You will need to set the paths to various support library projects
# that you have compiled.
########################################################################

# GD Library.
#
# Mapserver 4.x only supports GD 2.x and greater.
# Sorry no more GIF support.  If you need GIF support you will
# need to run Mapserver 3.6.x with GD 1.2.
# GD is a required support library for MapServer 4.x.
# Enter the full path to your GD 2.x project directory

# Note : A patched version of GD that supports GIF, JPEG, PNG and WBMP can be
# downloaded from http://www.rime.com.au/gd/. If you are using this library,
#you should uncomment the following line
OUTPUT_GIF=-DUSE_GD_GIF -DGD_HAS_GDIMAGEGIFPTR

GD_DIR=c:/MSSDE/gdwin32

# 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_DIR=c:\MSSDE\regex-0.12
!ENDIF


########################################################################
# Section III: Debug flags
########################################################################
# Should not need to be updated.
########################################################################
# DEBUG Build flags
# Set the DEBUG flag if you wish to make a debug build
#DEBUG=/DDEBUG
# Set the Warning level for the compiler (defaults to W1)
WARNING_LEVEL=/W3
# Set the linker debug option
LDEBUG=/debug


########################################################################
# Section IV: Variable Setup
########################################################################
# Should not need to be updated.
########################################################################

# Proj.4 include and library
!IFDEF PROJ_DIR
PROJ_INC=-I$(PROJ_DIR)\src
PROJ_LIB=$(PROJ_DIR)\src\proj.lib
!ENDIF

# CURL include and library
!IFDEF WMSCLIENT
CURL_INC = -I$(CURL_DIR)\include
CURL_LIB = $(CURL_DIR)\lib\libcurl.lib
!ENDIF

# Set the jpeg library
!IFDEF OUTPUT_JPEG
JPEG_LIB=$(JPEG_DIR)\libjpeg.lib
!ENDIF

# Set the png support libaries
!IFDEF OUTPUT_PNG
PNG_LIB=$(PNG_DIR)\libpng.lib $(ZLIB_DIR)\zlib.lib
!ENDIF

# Set the FreeType library
!IFDEF ANNOTATION_FT
#FT_LIB=$(FT_DIR)\objs\freetype211.lib
FT_LIB=$(FT_DIR)\objs\freetype.lib
!ENDIF

# GD include and library
GD_INC= -I$(GD_DIR)
GD_LIB= $(GD_DIR)\bgd.lib  \
        $(JPEG_LIB) $(PNG_LIB) $(FT_LIB)
GD= $(OUTPUT_PNG) $(OUTPUT_JPEG) $(OUTPUT_WBMP) $(OUTPUT_GIF) $(ANNOTATION_FT)

# 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
JPEG_LIB=$(JPEG_DIR)\libjpeg.lib
!ENDIF

# Setup GDAL includes and libraries
!IFDEF GDAL
GDAL_INC = -I$(GDAL_DIR)\gcore -I$(GDAL_DIR)\alg
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)\ogr\..\port
OGR_LIB = $(GDAL_DIR)\ogr\ogrsf_frmts\ogrsf_frmts.lib $(GDAL_DIR)\ogr\ogrsf_frmts\ogrsf_frmts_sup.lib $(GDAL_DIR)\ogr\ogr.lib $(GDAL_DIR)\ogr\..\port\cpl.lib
!ENDIF

# Setup ESRI SDE support.
!IFDEF SDE_OPT
SDE_INC=-I$(SDE_DIR)\include
SDE_LIB=$(SDE_DIR)\lib\sde90.lib $(SDE_DIR)\lib\sg90.lib $(SDE_DIR)\lib\pe90.lib
!ENDIF

#ECW support
!IFDEF ECW_DIR
ECW_LIB=$(ECW_DIR)\lib\NCSEcw.lib $(ECW_DIR)\lib\NCSEcwC.lib \
        $(ECW_DIR)\lib\NCSUtil.lib
!ENDIF

#Xerces support
!IFDEF XERCES_DIR
XERCES_LIB=$(XERCES_DIR)\lib\xerces-c_1.lib
!ENDIF

!IFDEF ODBC_SUPPORTED
ODBC_LIB = "C:\Program Files\Microsoft Visual Studio\VC98\Lib\ODBC32.lib"
!ENDIF

# Setup REGEX object and includes
!IFNDEF PHP
REGEX_OBJ=$(REGEX_DIR)\regex.obj
REGEX_INC=-I$(REGEX_DIR)
!ELSE
REGEX_OBJ=$(PHP_DIR)\regex\regcomp.obj $(PHP_DIR)\regex\regerror.obj \
          $(PHP_DIR)\regex\regexec.obj $(PHP_DIR)\regex\regfree.obj
REGEX_INC=-I$(PHP_DIR)\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
# Note that the Postgresql includes are not used in the compilation of
# PHP/MapScript.  The reason is that there is a name conflict between the
# regex/regex.h files used in PHP and Postgresql.  This is not a real issue
# since they are two completely different interfaces.  The issue arrises when
# the php_regex.h trys to include regex/regex.h and gets the wrong one from
# postgresql.  Therefore we do not give it that opertunity by not providing the
# include path.
!IFDEF POSTGIS
!IFNDEF PHP_BUILD_CALL
#POSTGIS_INC=-I$(POSTGIS_DIR)\src\interfaces\libpq -I$(POSTGIS_DIR)\src\include
POSTGIS_INC=-I$(POSTGIS_DIR)\interfaces\libpq -I$(POSTGIS_DIR)\include
!ENDIF
#POSTGIS_LIB=$(POSTGIS_DIR)\src\interfaces\libpq\release\libpqdll.lib
POSTGIS_LIB=$(POSTGIS_DIR)\interfaces\libpq\libpqdll.lib

POSTGIS_OBJ=mappostgis.obj
!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)\pdflib\pdflib.lib
PDF_INC=-I$(PDF_DIR)\pdflib
!ENDIF

#Oracle support
!IFDEF ORACLE
ORACLE_INC=-I$(ORACLE_DIR)\oci\include
ORACLE_LIB=$(ORACLE_DIR)\oci\lib\msvc\oci.lib
!ENDIF



########################################################################
# Section V: 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 VI: Collect compiler flags
########################################################################
# Should not need to be updated.
########################################################################
EXTERNAL_LIBS=$(GD_LIB) $(TIFF_LIB) $(JPEG_LIB) \
     $(PROJ_LIB) $(OGR_LIB) $(GDAL_LIB)\
     $(CURL_LIB)  $(MING_LIB) $(PDF_LIB) \
     $(WINSOCK_LIB) $(POSTGIS_LIB) $(IMGGEN_LIB) $(ERR_LIB) \
     $(XERCES_LIB) $(ECW_LIB) $(ORACLE_LIB) $(OGDI_LIB) $(ODBC_LIB) \
         $(SDE_LIB) $(REGEX_OBJ)

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)

MS_CFLAGS=$(INCLUDES) $(REGEX_OPT) $(STRINGS) $(POSTGIS) \
          $(EPPL) $(PROJ) $(TIFF) $(JPEG) $(GD) $(OGR) $(WMS) \
          $(WMSCLIENT) $(MING) $(IGNORE_MISSING_DATA) $(NEED_NONBLOCKING_STDERR) \
          $(GDAL)  \
          -DFEATURE_INFO_HTML $(WFS) $(WFSCLIENT) $(PDF) $(EGIS) \
        $(USE_GD_ANTIALIAS) $(ORACLE) $(MING_VERSION) $(SDE_OPT)



OPTFLAGS =      /nologo /Zi $(WARNING_LEVEL) $(DEBUG)
BASE_CFLAGS =   $(OPTFLAGS) -DWIN32 -D_WIN32 -MT
LDFLAGS =       /NODEFAULTLIB:msvcrt /NODEFAULTLIB:libcd /DEBUG
#LDFLAGS =      /NODEFAULTLIB:libcd /DEBUG

CFLAGS=$(BASE_CFLAGS) $(MS_CFLAGS)
CC=     cl
LINK=   link

#
# Main MapServer library.
#
MS_DLL = libmap.dll

MS_OBJS =       mapbits.obj maphash.obj mapshape.obj mapxbase.obj \
                mapparser.obj maplexer.obj mapindex.obj maptree.obj \
                mapsearch.obj mapstring.obj mapsymbol.obj mapfile.obj \
                maplegend.obj maputil.obj mapscale.obj mapquery.obj \
                maplabel.obj maperror.obj mapprimitive.obj mapproject.obj\
                mapraster.obj cgiutil.obj mapsde.obj mapogr.obj maptime.obj \
                maptemplate.obj mappostgis.obj maplayer.obj mapresample.obj \
                mapwms.obj mapwmslayer.obj mapgml.obj maporaclespatial.obj \
                mapprojhack.obj mapdraw.obj mapgd.obj mapoutput.obj mapswf.obj \
                mapgdal.obj mapwfs.obj mapwfslayer.obj mapows.obj maphttp.obj \
                mappdf.obj mapcontext.obj mapdrawgdal.obj mapjoin.obj mapgraticule.obj \
                mapmygis.obj mapimagemap.obj mapcopy.obj \
                mapogcfilter.obj mapogcsld.obj mapthread.obj $(EPPL_OBJ) $(REGEX_OBJ)

MS_HDRS =       map.h mapfile.h

MS_EXE =        mapserv.exe  \
                shp2img.exe legend.exe  \
                shptree.exe scalebar.exe sortshp.exe tile4ms.exe shptreevis.exe

#
#
#
default:        all

all:            $(MS_LIB) $(MS_EXE)

$(MS_OBJS):     $(MS_HDRS)

$(MS_LIB):      $(MS_OBJS)
#       copy $(GDAL_DIR)\gdal.pdb .
        lib /out:$(MS_LIB) $(MS_OBJS)
        link /dll /debug /nodefaultlib:libc.lib /nodefaultlib:msvcrt.lib \
                $(MS_OBJS) $(EXTERNAL_LIBS) \
                "c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib\MSVCRT.lib" \
                "c:\Program Files\Microsoft SDK\Lib\WinMM.lib" \
                 /out:$(MS_DLL) /implib:$(MS_LIB_DLL)

$(MS_EXE):      $(LIBS)

gd::
        cd gd-1.2
        nmake /f makefile.nt OPTFLAGS="$(OPTFLAGS)"
        cd ..

.c.obj:
        $(CC) $(CFLAGS) /c $*.c /Fo$*.obj

.cpp.obj:
        $(CC) $(CFLAGS) /c $*.cpp /Fo$*.obj

.c.exe:
        $(CC) $(CFLAGS) /c $*.c /Fo$*.obj
!IFDEF DLLBUILD
        $(LINK) $(LDFLAGS) $*.obj $(LIBS_DLL)
!ELSE
        $(LINK) $(LDFLAGS) $*.obj $(LIBS)
!ENDIF

.cpp.exe:
        $(CC) $(CFLAGS) /c $*.cpp /Fo$*.obj
        $(LINK) $(LDFLAGS) $*.obj $(LIBS)


clean:
        del *.obj
        del $(REGEX_OBJ)
        del *.lib
        del *.dll
        del $(MS_EXE)
        del *.pdb
        del *.exp
        del *.ilk
#       cd gd-1.2
#       nmake -f makefile.nt clean
#       cd ..

-------------- next part --------------
MAP
        NAME HELLO
        STATUS ON
        EXTENT 0 0 4000 3000
        SIZE 400 300
        IMAGECOLOR 200 255 255
        WEB
                IMAGEPATH "C:\WWW\image\"
                IMAGEURL "localhost:8080/image/"
        END


        LAYER
                NAME "credits"
                STATUS DEFAULT
                TRANSFORM FALSE
                TYPE ANNOTATION
                FEATURE
                        POINTS
                                200 150
                        END
                        TEXT 'Hello world.  Mapserver rocks.'
                END
                CLASS
                        LABEL
                                TYPE BITMAP
                                COLOR 0 0 0
                        END
                END
        END


END


More information about the mapserver-users mailing list