• 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.2vs2012 作为编译的目标文件夹

       2、cmd中命令行配置如下 E:geos-3.4.2vs2012> 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

  • 相关阅读:
    剑指offer——最小的K个数和数组中第K大的元素
    Leetcode刷题指南链接整理
    160. Intersection of Two Linked Lists
    100. Same Tree
    92. Reverse Linked List II
    94. Binary Tree Inorder Traversal
    79. Word Search
    78,90,Subsets,46,47,Permutations,39,40 DFS 大合集
    0x16 Tire之最大的异或对
    0x16 Tire
  • 原文地址:https://www.cnblogs.com/geospatial/p/5639203.html
Copyright © 2020-2023  润新知