整理记录下 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

osgEarth编译——以VS2012为例的更多相关文章

  1. OSGEarth编译

    解决OSGEarth编译时出现error LNK1181: 无法打开输入文件“optimized.lib的问题 以下方案受到了osg大神qq网名为“阿威.小号”的帮助. 在采用Cmake3.6.2创建 ...

  2. OSG+VS2010+win7环境搭建---OsgEarth编译

    OSG+VS2010+win7环境搭建---OsgEarth编译 转:http://www.cnblogs.com/hnfxs/p/3161261.html Win7下 osg+vs2010环境搭建 ...

  3. osgEarth编译(转载)

    osgEarth编译 osgEarth的编译需要osg和一些第三方插件库,我主要参考了cnblogs上的一篇博文,但是也不够详细,并且我是在已经编译好osg的情况下去编译osgEarth,所以期间也遇 ...

  4. 第一讲(3)osgearth编译

    前题条件完成osg 3.0的编译Step 1 下载osgEarth 2.1.1https://github.com/gwaldron/osgearth/downloads------------> ...

  5. osgEarth编译的一些问题

    这两天借着osg培训的机会捯饬了下64位osgearth的编译.遇到了一些问题: 首先我没有编译osg,用的提供的osg3.2.1编译好的64位包. 编译osgearth先后编译了2个版本,先是2.7 ...

  6. boost.python编译及演示样例

    欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/46781581 linux编译boost的链接:http://bl ...

  7. osgearth 编译日志

    1>------ 已启动生成: 项目: ZERO_CHECK, 配置: Debug x64 ------1> Checking Build System1> CMake does n ...

  8. VS2015 osgEarth 编译

    E:\OpenSourceGraph\CURL_install\includeE:\GDAL\includeE:\Geos\geos_3_5_install\includeE:\OpenSourceG ...

  9. mingw 环境编译 liburl故障一例

    环境是 windows 10,已经安装 mingw,并设置好mingw 和 msys的环境变量 C:\Users\cracker>set |grep MinGW Path=C:\Program ...

随机推荐

  1. Python基础部分的疑惑解析——运算符和数据类型(5)

    运算符 最后得到数值的: 算数运算符 赋值运算符 最后得到布尔值的: 成员运算符:in   not in 逻辑运算符    and   or   没有优先级就是按顺序执行 比较运算符 数据类型 1.整 ...

  2. UITableView 头部效果/放大/移动跟随效果

    [self.tableView addObserver:self forKeyPath:@"contentOffset" options:NSKeyValueObservingOp ...

  3. switch case执行顺序

    public class SwitchCase { public static void main(String[] args) { System.out.println(switchFun(4)); ...

  4. 2019.04.11 第四次训练 【 2017 United Kingdom and Ireland Programming Contest】

    题目链接:  https://codeforces.com/gym/101606 A: ✅ B: C: ✅ D: ✅ https://blog.csdn.net/Cassie_zkq/article/ ...

  5. Mac下的浏览器类似Windows中Ctrl+F5的不请求缓存刷新页面的快捷键

    正常方式: [shitf]+[command]+[r] 如果改过快捷键的: [fn]+[shift]+[command]+[f]

  6. Zip文件格式

    Overview This document describes the on-disk structure of a PKZip (Zip) file. The documentation curr ...

  7. ftp&nginx搭建图片服务器

    下面使用ftp+nginx搭建一个简单的服务器 ftp用于文件的传输 nginx提供http服务 nginx服务器的安装和配置可以参照之前的教程:nginx安装及其配置详细教程 下面介绍ftp服务的安 ...

  8. [转载]二叉树(BST,AVT,RBT)

    二叉查找树(Binary Search Tree)是满足如下性质的二叉树:①若它的左子树非空,则左子树上所有结点的值均小于根结点的值:②若它的右子树非空,则右子树上所有结点的值均大于根结点的值:③左. ...

  9. <数据挖掘导论>读书笔记10聚类分析续

    基于原型的聚类 模糊c均值使用模糊逻辑和模糊集合论的概念,提出一种聚类方案,它很像K均值,但是不需要硬性地将对象分派到一个簇中.模糊c均值算法有时也称为FCM 混合模型聚类采取这样的访谈,簇集合可以用 ...

  10. 企业如何选择最佳的SSL

    如果你的企业有意采购SSL,那么本文可以给一个很好的方向.在本文中,我们将先简要介绍SSL定义及其工作原理,并探讨目前各种可用的SSL证书类型以及企业如何选择最佳的SSL. SSL定义 SSL及传输层 ...