这两天借着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. 启动Automatic Updates出现0x80004015错误的解决办法

    前几天我的本本加入到AD里面了,并且换了个用户名,结果昨天就发现升级出毛病了,Automatic Updates服务无法启动,启动时候出现0x80004015错误:Automatic Updates  ...

  2. 双机冗余备份和负载均衡策略(Mysql Cluster入门安装配置指南)

    MySQL Cluster 是MySQL适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.MySQL Clus ...

  3. 【转】TCP协议中的三次握手和四次挥手(图解)

    http://blog.csdn.net/whuslei/article/details/6667471

  4. ORA-12518: TNS: 监听程序无法分发客户机连接

    在团队成员增多时,经常出现“无法分发客户端连接”等问题.在网上搜索一番后,最终解决了该问题,现将解决方案总结如下,以供参考和以后备用. 原因:团队成员增多,原有数据库设置不够用,导致连接plsql和启 ...

  5. Android消息处理机制

    Android消息处理机制 Android应用程序消息处理机制(深入到native,实际由管道实现-pipe&epoll)

  6. PHP常用验证正则表达式

    PHP常用验证正则表达式 数字.手机号.QQ号.Url地址合法性校验 1.验证是否为整数 1 function isNumber($val) 2 { 3 if(ereg("^[0-9]+$& ...

  7. RT-Thread 线程的让出

    前面两个例子演示的线程调度是由系统“主动干预”的情况的线程切换,其实我们也可以根据实际情况,采用主动让出 CPU 使用权.RT-Thread 中的系统函数: rt_thread_yield(),可以让 ...

  8. linux进程查找及杀死

    根据进程名称查找 ps aux|grep python(进程名) 杀死进程: kill -s 9 进程id

  9. PROCESS STATES

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION To understand the ope ...

  10. ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

    https://en.wikipedia.org/wiki/Base64 The Base64 index table: Value Char   Value Char   Value Char   ...