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文件的加载。

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

上一篇:MYSQL中delete删除多表数据


下一篇:配置samba服务器