这两天借着osg培训的机会捯饬了下64位osgearth的编译。遇到了一些问题:

首先我没有编译osg,用的提供的osg3.2.1编译好的64位包。

编译osgearth先后编译了2个版本,先是2.7.0后又编译了2.5.0。本来osgearth别人也提供了一套开发包,但是没有办法直接运行示例程序,所以想自己编译一套。

1、对于osgearth2.7.0,操作系统Win10 64bit普通家庭版。我采用了CMake3.2.1版本,配置主要是第三方库,OSG路径什么的。一般来说只要依赖项都配置好了,CMake不会有报错信息。生成VC项目文件后,编译。安装过程报了个没有C盘权限的问题,这个手工建立个文件夹居然解决了。

但是运行示例程序的时候报找不到程序入口点的错误。原因是我配置的环境变量Path中是之前别人提供的osgearth路径,所以一直出错。

2、之后我又编译2.5.0,操作系统Win10 64bit普通家庭版,因为FreeEarth说是在这个基础上开发的。

Win10下用CMake3.2.1提示好多警告信息,生成项目文件后编译,但是还是有好多无法链接到lib的错误。

怀疑是CMake版本过高的问题,于是采用培训老师说的CMake2.8.12.2(我都采用的是免安装的.zip版本),这个好多依赖项都没有办法自动识别,所以必须手工配置。主要是第三方库、GDAL、GEOS、QT、Trion、Zlib1,配置完成后没有提示警告。

生成项目文件,编译过程没有问题。但是在Win10 VS2010上无法执行Install,不知道什么原因。

3、同样的设置我又在Win7系统上编译,编译通过,Install也正常。接下来又出现找不到程序入口点这样的错误。还是环境变量搞混了。

注意:

程序运行使用的Dll必须和编译时候使用的保持一致。

CMake不同版本可能存在不一致性,所以编译特定版本的osgearth库要查看一下推荐哪个版本的Cmake。

4、osgearth对.earth格式文件支持,实现了瓦片和高程数据的加载,实现了对模型文件的加载,实现了对shp文件的加载。

对不同文件的支持采用不同的插件形式进行支持。

osgEarth编译的一些问题的更多相关文章

  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编译——以VS2012为例

    整理记录下 osgEarth编译过程. osgEarth是依赖于OSG的三维地理平台. 准备工作 OpenSceneGraph-3.4.0.zip OSG_3RDPARTY_DIR    http:/ ...

  6. osgearth 编译日志

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

  7. VS2015 osgEarth 编译

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

  8. Windows下OSGEarth的编译过程

    目录 1. 依赖 1) OpenSceneGraph 2) GDAL 3) CURL 4) GEOS 5) 其他 2. 编译 1) 设置参数 2) 配置路径 3) 生成编译 3. 参考文献 1. 依赖 ...

  9. Cmake在编译osgEarth时遇到的一个错误

    CMake Error at src/osgEarthDrivers/CMakeLists.txt:7 (PROJECT): The CMAKE_C_COMPILER: llvm-gcc-4.2 is ...

随机推荐

  1. 分布式文件系统FastDFS原理介绍

    在生产中我们一般希望文件系统能帮我们解决以下问题,如:1.超大数据存储:2.数据高可用(冗余备份):3.读/写高性能:4.海量数据计算.最好还得支持多平台多语言,支持高并发. 由于单台服务器无法满足以 ...

  2. 每天php函数 - str_replace()

    mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) 该函数返回一个字符 ...

  3. 【转载】Linux系统与性能监控

    原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...

  4. Locking

    Computer Science An Overview _J. Glenn Brookshear _11th Edition To solve such problems, a DBMS could ...

  5. Python - 素数筛

    def shai(n): prim = list() check = list([1] * (n + 1)) for i in range(2, n + 1): if(check[i] == 1): ...

  6. C# where(泛型类型约束)

    /*在泛型类型定义中,where 子句用于指定对下列类型的约束:这些类型可用作泛型声明中定义的类型参数的实参. 例如,可以声明一个泛型类 MyGenericClass,这样,类型参数 T 就可以实现 ...

  7. Redis学习笔记(9)-管道/分布式

    package cn.com; import java.util.Arrays; import java.util.List; import redis.clients.jedis.Jedis; im ...

  8. FastMM、FastCode、FastMove的使用(图文并茂)

    FastMM是一个替换Embarcadero Delphi Win32应用程序的快速内存管理器,以及可以在多线程下使用,不容易产生内存碎片,并且无需使用外部DLL文件就可以支持共享内存. 使用方法:1 ...

  9. Prism&MEF构建开发框架

    系统框架构想效果图 平台简单由左侧菜单和右侧内容区以及顶部系统和用户信息区构成 菜单根据系统模块动态加载 右侧,根据左侧选中菜单动态加载子模块,子模块集合以tab选项卡方式布局 系统模块划分为Shel ...

  10. [LeetCode] Pow(x, n) (二分法)

    Implement pow(x, n). 刚开始没想到,后来看remlost的博客才写出来,代码很简练: class Solution { public: double pow(double x, i ...