osgEarth编译的一些问题
这两天借着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编译的一些问题的更多相关文章
- OSGEarth编译
解决OSGEarth编译时出现error LNK1181: 无法打开输入文件“optimized.lib的问题 以下方案受到了osg大神qq网名为“阿威.小号”的帮助. 在采用Cmake3.6.2创建 ...
- OSG+VS2010+win7环境搭建---OsgEarth编译
OSG+VS2010+win7环境搭建---OsgEarth编译 转:http://www.cnblogs.com/hnfxs/p/3161261.html Win7下 osg+vs2010环境搭建 ...
- osgEarth编译(转载)
osgEarth编译 osgEarth的编译需要osg和一些第三方插件库,我主要参考了cnblogs上的一篇博文,但是也不够详细,并且我是在已经编译好osg的情况下去编译osgEarth,所以期间也遇 ...
- 第一讲(3)osgearth编译
前题条件完成osg 3.0的编译Step 1 下载osgEarth 2.1.1https://github.com/gwaldron/osgearth/downloads------------> ...
- osgEarth编译——以VS2012为例
整理记录下 osgEarth编译过程. osgEarth是依赖于OSG的三维地理平台. 准备工作 OpenSceneGraph-3.4.0.zip OSG_3RDPARTY_DIR http:/ ...
- osgearth 编译日志
1>------ 已启动生成: 项目: ZERO_CHECK, 配置: Debug x64 ------1> Checking Build System1> CMake does n ...
- VS2015 osgEarth 编译
E:\OpenSourceGraph\CURL_install\includeE:\GDAL\includeE:\Geos\geos_3_5_install\includeE:\OpenSourceG ...
- Windows下OSGEarth的编译过程
目录 1. 依赖 1) OpenSceneGraph 2) GDAL 3) CURL 4) GEOS 5) 其他 2. 编译 1) 设置参数 2) 配置路径 3) 生成编译 3. 参考文献 1. 依赖 ...
- Cmake在编译osgEarth时遇到的一个错误
CMake Error at src/osgEarthDrivers/CMakeLists.txt:7 (PROJECT): The CMAKE_C_COMPILER: llvm-gcc-4.2 is ...
随机推荐
- 分布式文件系统FastDFS原理介绍
在生产中我们一般希望文件系统能帮我们解决以下问题,如:1.超大数据存储:2.数据高可用(冗余备份):3.读/写高性能:4.海量数据计算.最好还得支持多平台多语言,支持高并发. 由于单台服务器无法满足以 ...
- 每天php函数 - str_replace()
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) 该函数返回一个字符 ...
- 【转载】Linux系统与性能监控
原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...
- Locking
Computer Science An Overview _J. Glenn Brookshear _11th Edition To solve such problems, a DBMS could ...
- Python - 素数筛
def shai(n): prim = list() check = list([1] * (n + 1)) for i in range(2, n + 1): if(check[i] == 1): ...
- C# where(泛型类型约束)
/*在泛型类型定义中,where 子句用于指定对下列类型的约束:这些类型可用作泛型声明中定义的类型参数的实参. 例如,可以声明一个泛型类 MyGenericClass,这样,类型参数 T 就可以实现 ...
- Redis学习笔记(9)-管道/分布式
package cn.com; import java.util.Arrays; import java.util.List; import redis.clients.jedis.Jedis; im ...
- FastMM、FastCode、FastMove的使用(图文并茂)
FastMM是一个替换Embarcadero Delphi Win32应用程序的快速内存管理器,以及可以在多线程下使用,不容易产生内存碎片,并且无需使用外部DLL文件就可以支持共享内存. 使用方法:1 ...
- Prism&MEF构建开发框架
系统框架构想效果图 平台简单由左侧菜单和右侧内容区以及顶部系统和用户信息区构成 菜单根据系统模块动态加载 右侧,根据左侧选中菜单动态加载子模块,子模块集合以tab选项卡方式布局 系统模块划分为Shel ...
- [LeetCode] Pow(x, n) (二分法)
Implement pow(x, n). 刚开始没想到,后来看remlost的博客才写出来,代码很简练: class Solution { public: double pow(double x, i ...