osgEarth編譯——以VS2012為例


整理記錄下 osgEarth編譯過程。

osgEarth是依賴於OSG的三維地理平台。

准備工作 

      OpenSceneGraph-3.4.0.zip

  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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM