如果想自己编译MapGuide的源代码和运行MapGuide,那么请参考MapGuide开源版的文档 (http://mapguide.osgeo.org/documentation.html),各个版本MapGuide的编译步骤基本相同,但是细节却不尽相同,所以要找到使用的源代码所对应的文档,严格按照文档中描述的步骤编译MapGuide。
因为MapGuide服务器和Web扩展是两个独立的组件,所以它们也是独立编译的。编译MapGuide服务器组件的基本步骤如下:
1)
编译FDO
MapGuide
使用了FDO来访问GIS数据,但是MapGuide的源代码中并没有包含FDO的源代码,所以需要开发人员自己下载FDO的源代码和编译FDO。
2)
设置环境变量
需要注意的是不同版本的MapGuide源代码需要设置不同的环境变量,所以要注意参考对应版本的文档。
3)
编译CS-MAP
从MapGuide开源版2.1之后,MapGuide使用CS-MAP替代了PROJ4来处理坐标系。现在CS-MAP也是OSGeo的一个开源项目,在使用SVN下载MapGuide源码的时候会自动下载CS-MAP的代码,不过需要用户独立编译CS-MAP。
4)
编译OEM
OEM
就是MapGuide所依赖的第三方组件,例如ACE、SWIG、DWF Toolkit、FDO、Oracle Berkeley DB XML等,MapGuide服务器和Web扩展都依赖于OEM,所以在编译MapGuide服务器和Web扩展时都需要编译OEM,但是只需要编译一次。
在Windows平台上,打开文件夹\MgDev\Oem\下的Visual Studio Solution文件oem.sln就可以编译OEM组件。
5)
编译MapGuide服务器
这部分代码是MapGuide服务器真正的代码,在Window平台上打开文件夹\MgDev\Server\下的Visual Studio Solution文件Server.sln就可以编译MapGuide服务器。
编译MapGuide Web扩展的步骤如下:
1)
安装JDK
MapGuide Web
扩展需要安装Java JDK 1.3或更高的版本,如果没有安装JDK,请访问http://java.sun.com下载安装它。
2)
设置环境变量
需要注意的是不同版本的MapGuide源代码需要设置不同的环境变量,所以要注意参考对应版本的文档。
3)
编译OEM
OEM
组件只需要编译一次,如果在编译MapGuide服务器时已经编译了OEM,那么无需重新编译。
4)
编译MapGuide Web扩展
这部分代码是MapGuide Web扩展真正的代码,在Window平台上打开文件夹\MgDev\Web\src下的Visual Studio Solution文件WebTier.sln就可以编译MapGuide Web扩展。