在Windows下编译安装MapServer.doc_第1页
在Windows下编译安装MapServer.doc_第2页
在Windows下编译安装MapServer.doc_第3页
在Windows下编译安装MapServer.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在Windows下编译安装MapServer (本文档参考MapServer官方文档,见/installation/win32.html )本文档提供了一个简单的Win32平台下MapServer的编译安装步骤。Win32平台下,从源代码编译安装MapServer是一个艰巨的任务,所以推荐使用已存在的预编译库(:1280/sdk/release-1400-dev.zip)。编译 除了参考本文档外,MapServer源代码中的README.Win32也值得一看。1、 创建放置MapServer和它的依赖库的文件夹,如“projects”。2、 下载MapServer源代码 download page. 以及以来库源代码。 GD Library: /gd/http/gdwin32.zip. Regex: /old-gnu/regex/regex-0.12.tar.gz JPEG library: /files/jpegsrc.v6b.tar.gz PNG library: /projects/libpng/ Zlib: /zlib.zip . FreeType 2: /packages/freetype.htm . PROJ.4: /proj/ GDAL/OGR: /. 以及ArcSDE:和EPPL7 如果需要提供OGC web service(如WMS,WFS)或者重投影,则需要编译PROJ.4库。如果需要其他的栅格或者矢量数据源,则需要编译GDAL/OGR库,另外WCS也需要用到GDAL库。3、 设置编译选项。 与大多依赖库一样,编译MapServer使用Visual C+ makefile Makefile.vc。它包含设置特殊定义的选项文件nmake.opt。首先,我们需要修改nmake.opt文件来配置选项和依赖库。打开nmake.opt文件,使用#注释掉不需要的选项,或者去掉#号激活NMAKE选项。1.#LINE598,599 PROJ=-DUSE_PROJ -DUSE_PROJ_API_H PROJ_DIR=C:Projectsproj-4.7.0 2# LINE482 WMS=-DUSE_WMS_SVR。 3#LINE177,178 GD_DIR=c:/projects/gdwin32 GD_LIB=$(GD_DIR)/bgd.lib 4#LINE615 !IFNDEF PHP REGEX_DIR=c:projectsregex-0.12 !ENDIF 5#LINE644 CURL_LIB = $(CURL_DIR)/lib/libcurl_imp.lib 6#LINE674,262 FT_LIB=$(FT_DIR)/objs/freetype2312.lib FT_DIR=C:Projectsfreetype-2.3.12 7#LINE205,207 PNG_DIR=C:Projectslibpng-1.4.2 ZLIB_DIR=C:Projectszlib-1.2.5 8#LINE190 JPEG_DIR=C:Projectsjpeg-6b等等,上面这只是部分修改的选项,其他选项可根据文档中的注释,根据需要激活或者禁用。4、 编译库文件 1 gdwin32:B预编译的GD库内置了PNG,GIF,JPEG和FreeType支持。(首先,运行makemsvcimport.bat创建vc+兼容库bgd.lib)。 2curl-7.20.1:nmake /f makefile.vc8 CFG=release-dll 3proj-4.7.0 cd proj-4.7.0srcnmake /f makefile.vc 4jpeg-6b1.重命名文件jconfig.vc 为 jconfig.h, makelib.ds 为 jpeg.mak, makeapps.ds 为 apps.mak,2.点击.mak文件创建工程,3.编译工程文件,生成库和工具程序。4.运行NMAKE /f makefile.vc test生成libjpeg.lib. 5libpng-1.4.2 使用vs2005打开libpng-1.4.2-projects-visualc71目录下的.sln。 6freetype-2.3.12使用vs2005打开freetype-2.3.12buildswin32vc2005目录下的.sln。 7gdal-1.7.2和zlib1.2.3都有用于vs2005的解决方案。5、 编译MapServer。 nmake /f makefile.vc6、 将生成的mapserv.exe CGI程序以及需要的动态库需要安装到web server 的cgi-bin文件夹。7、 测试 运行mapserv.exe -v查看安装信息。编译过程中的错误解决方案:1.MapServer 使用/MD选项(这意味着使用MSVCRT.DLL),所以如果静态编译支撑库,我们也需要使用/MD选项。PROJ.4是默认使用/MD生成的,所 以可以直接使用它的默认生成。2.在mapserver.h中添加#define inline _inline。3.regex.c c:projectsregex-0.12regex.c(4877) : error C2081: preg : name in formal parameter list illegal c:projectsregex-0.12regex.c(4877) : error C2081: errbuf : name in formal parameter list illegal c:projectsregex-0.12regex.c(4877) : error C2081: errbuf_size : name in formal parameter list illegal c:projectsregex-0.12regex.c(4878) : error C2055: expected formal parameter list, not a type list c:projectsregex-0.12regex.c(4878) : error C2082: redefinition of formal parameter errcode c:projectsregex-0.12regex.c(4886) : error C2059: syntax error : type c:projectsregex-0.12regex.c(4894) : error C2275: errcode : illegal use of this type as an expression C:Program FilesMicrosoft Visual Studio 8VCINCLUDEcrtdefs.h(506) : see declaration of errcode 将 regex.c 中的函数 size_t regerror (errcode, preg, errbuf, errbuf_size) int errcode; const regex_t *preg; char *errbuf; size_t errbuf_size; .改为size_t regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size) .4.libmap.dllLIBC.lib(dllcrt0.obj) : error LNK2005: _CRT_INIT12 已经在 MSVCRT.lib(crtdll.obj) 中定义LIBC.lib(dllcrt0.obj) : error LNK2005: _DllMainCRTStartup12 已经在 MSVCRT.lib(crtdll.obj) 中定义LIBC.lib(dllcrt0.obj) : error LNK2005: _amsg_exit 已经在 MSVCRT.lib(MSVCR80.dll) 中定义LIBC.lib(crt0dat.obj) : error LNK2005: _exit 已经在 MSVCRT.lib(MSVCR80.dll) 中定义LIBC.lib(fflush.obj) : error LNK2005: _fflush 已经在 MSVCRT.lib(MSVCR80.dll) 中定义LIBC.lib(crt0init.obj) : error LNK2005: _xc_z 已经在 MSVCRT.lib(cinitexe.obj) 正在创建库 mapserver_i.lib 和对象 mapserver_i.expLINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:libraryLINK : warning LNK4098: 默认库“LIBC”与其他库的使用冲突;请使用 /NODEFAULTLIB:librarylibmap.dll : fatal error LNK1169: 找到一个或多个多重定义的符号NMAKE : fatal error U1077: “C:Program FilesMicros

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论