整理記錄下 osgEarth編譯過程。
osgEarth是依賴於OSG的三維地理平台。
准備工作
OSG_3RDPARTY_DIR http://download.osgvisual.org/3rdParty_VS2012.3_v110_x86_x64_V8b_full.7z
geos-3.4.2.tar.bz2 http://download.osgeo.org/geos/geos-3.4.2.tar.bz2
sqlite https://www.sqlite.org/download.html
osgearth-2.7 https://github.com/gwaldron/osgearth/releases
編譯工作
編譯OSG、然后編譯或下載geos和sqlite,最后編譯osgEarth;
編譯OSG
1、解壓 OpenSceneGraph-3.4.0.zip 和 3rdParty_VS2012.3_v110_x86_x64_V8b_full.7z
2、安裝打開CMake,https://cmake.org/download/
配置Source code路徑到 E:/osg3.4.0/OpenSceneGraph-3.4.0/OpenSceneGraph-3.4.0
配置build路徑到 E:/osg3.4.0/OpenSceneGraph-3.4.0/OpenSceneGraph-3.4.0/vs2012
3、點擊Configre,選擇VS版本。
4、配置ACTUAL_3RDPARTY_DIR路徑為3rdParty_VS2012.3_v110_x86_x64_V8b_full.7z解壓路徑,且注意選擇X64還是X86文件夾
5、點擊Configure,完成后,點擊Generate。VS2012打開,並編譯完成。用其中bin,include,lib文件夾內容。
編譯GEOS
1、安裝CMake2.8以上版本,解壓geos到E:\geos-3.4.2,新建E:\geos-3.4.2\vs2012 作為編譯的目標文件夾
2、cmd中命令行配置如下 E:\geos-3.4.2\vs2012> cmake -G "Visual Studio 11 2012 Win64" E:\geos-3.4.2 如果是x86版本,去掉Win64。
3、vs打開工程。為了區分Release和debug下的dll和lib,更改geos輸出目錄。
鏈接器->高級->導入庫
鏈接器->常規->輸出文件
4、新建文件夾,拷貝源文件和編譯文件的include到include,拷貝geos.dll,geosd.dll到bin文件夾,拷貝geos.lib,geosd.lib到lib文件夾
編譯sqlite
1、下載 sqlite-amalgamation-3130000.zip 和 sqlite-dll-win64-x64-3130000.zip 在 https://www.sqlite.org/download.html,並解壓
2、新建VS Win32項目,dll 空項目。確定后,配置解決方案從win32改為X64。
3、從sqlite-amalgamation-3130000 拷貝 sqlite3.h 和sqlite3ext.h,添加到項目頭文件,
復制sqlite3.c 和sqlite-dll-win64-x64-3130000中的 sqlite3.def,添加到項目源文件。
4、在鏈接器->輸入->模塊定義文件中輸入 sqlite3.def;
在預處理定義中添加 SQLITE_ENABLE_RTREE
SQLITE_ENABLE_COLUMN_METADATA
編譯osgEarth
1、解壓osgearth_2.7 ,CMake填入Source code 和 build 路徑。
2、選擇目標版本后,配置CMake
(1)配置OSG_DIR 對應osg編譯后的庫文件夾,文件夾 包括 bin,include,lib。點擊Configure。
(2)配置CURL、zlib、minizip、GDAL對應的include和lib。lib可能包括debug和Release; 庫是利用OSG的3rdParty_VS2012.3_v110_x86_x64_V8b_full.7z
(3)配置GEOS和SQLITE3的include和lib。其中sqlite3僅僅配置Release,GEOS還有配置debug lib ------geosd.lib
3、點擊Configure,完成后再 點擊Genetor。
4、打開OSGEARTH.sln,編譯代碼。編譯完之后,相應的dll拷貝和exe同目錄,就可以執行測試了。
這里編譯64位和編譯32位沒有差異,只要注意下依賴庫對應。通過配置test中相應的earth文件,設置測試用例為啟動項,就可以跑起來了。
參考:
http://www.cnblogs.com/geospatial/p/4027696.html GEOS編譯
https://trac.osgeo.org/geos/wiki/BuildingOnWindowsWithCMake GEOS
http://zhujiangtao.com/?p=670 SQlite3編譯
http://www.sqlite.org/howtocompile.html SQlite3
http://docs.osgearth.org/en/latest/startup.html#get-the-source-code osgearth build