被MapGuide的编译困扰了好久,最近花了两天时间,终于搞定。废话不多说,直接上步骤。
一、准备文件
1、MapGuide源码,我这里用的是2.4版本。用SVN从https://svn.osgeo.org/mapguide/branches/2.4/MgDev上checkout即可。
2、MapGuideOpenSource-2.4.0.7096-InstantSetup-x86.exe,用于MapGuide编译完成后的安装。下载地址:http://mapguide.osgeo.org/download/releases/2.4.0。
二、编译过程
1、第三方软件安装
这些软件在编译MapGuide时会用到,包括Java JDK、7-zip、apache-ant、doxygen、GunWin32。可以独自下载安装,也可在BuildTools文件夹下找到。
2、设置环境变量
记事本打开MapGuide源码目录下的setenvironment.bat文件。该文件主要包含了需要设置的环境变量。这里要改动的部分主要是上一步安装的第三方软件的路径,如图:
设置完毕以后,保存。打开visual studio的命令行窗口。定位到setenvironment.bat文件夹下,运行该文件。
3、编译MapGuide
在MapGuide源码文件夹下build.bat文件为编译文件。该文件列出了编译选项,无需求改,直接在VS的命令行窗口下运行。
在编译的过程中会遇到三次错误,因为项目的链接选项不正确造成。根据弹出的错误内容,在VS下单击项目右键,在属性菜单下的链接->常规中修改。编译后的文件在release文件夹下。
4、修改配置文件
包括serverconfig.ini和webconfig.ini。将里面涉及到文件夹路径的选项设置到真实的路径,如图。
5、设置PHP
因为MapGuide的站点管理器用的是PHP,因此即使以后不用PHP做开发环境,也需要进行PHP的设置。在这里我直接将安装版下的PHP文件夹里的内容拷贝到编译版本下的PHP文件夹中,注意版本号要一致。
6、安装MapGuide server
运行Instantsetup.exe。Source Directory设置为编译后的文件夹。Batch File Output Directory放置生成的处理文件。Server选项卡中的内容在正确设置路径情况下自动生成,复选框全部勾选。Web选项卡可选择Apach和IIS7,这里将IIS7作为web服务器。注意,事先需要安装IIS。
点击Configure,开始生成。大约会弹出2-3次错误,因为缺少系统dll,下载后放到c:windowssystem32目录下。过程结束后会在Output Directory中生成三个文件。如图
依次运行前两个。会在windows服务中注册MapGuide server。自此MapGuide server安装结束,可在服务下查看到。
7、安装MapGuideWebExtension及示例代码
在第六步完成后会在IIS管理器下,生成MapGuide目录。还需要做如下配置。
展开mapguide文件夹。在mapagent上右键,将其转化为应用程序。单击右侧的处理程序映射
添加模块映射如下:
添加脚本映射如下:
右键单击mapadmin,将其转化为应用程序,同时添加模块映射同上。
8、测试
在浏览器中输入http://localhost/mapguide/mapadmin,以用户名Administrator 密码:admin进行登录。安装正确会出现如下界面
在浏览器中输入http://localhost/mapguide/mapagent/,安装正确出现如下界面