如果想自己編譯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擴展。